Obnovení a testování
Modul 8: Zálohy, testovací prostředí a aktualizace PHP · Doba čtení: 8 minut
Cíl lekce: Po této lekci budete umět obnovit zálohu, i vedle existujícího webu, a zkontrolovat, zda je kompletní a použitelná.
Klíčové pojmy: obnovení (restore), úplné nebo částečné, soubory nebo databáze, obnovení vedle webu, testovací obnovení, kontrolní seznam po obnovení, úprava adres, import databáze
Záloha má cenu, až když se z ní dá obnovit
Nejbolestivější moment u záloh není jejich vytváření, ale zjištění, že se obnovení nedaří: databáze chybí, záloha je neúplná, soubor je poškozený, nebo nikdo neví, jak na to. To je lepší zjistit v klidné úterý než během napadené soboty.
Proto obnovení pravidelně testujete, a to nejlépe bez zásahu do svého skutečného webu.
Co obnovujete
Nemusíte vždy obnovovat úplně vše. Vyberte, co se hodí:
| Situace | Co obnovujete |
|---|---|
| Omylem upravená jedna stránka | Nic: použijte revize (lekce 4.1) |
| Omylem smazaný obrázek nebo složka | Pouze tyto soubory |
| Aktualizace rozbila web | Soubory daného pluginu nebo celou složku wp-content, případně i databázi (pokud aktualizace upravila databázi) |
| Smazaný obsah v databázi | Databázi, ale počítejte s tím, že se vrátí i vše ostatní z té doby |
| Napadení (hack) | Vše, kompletně (lekce 7.5), ze zálohy vytvořené výrazně před napadením |
Soubory a databáze patří k sobě. Pokud obnovíte jen včerejší soubory k dnešní databázi, může se nějaký plugin zmást, protože jeho databáze už byla aktualizována. V případě pochybností obnovte obojí, ze stejného okamžiku.
Vše, co se stalo po okamžiku zálohy, ztratíte. Nové příspěvky, komentáře, objednávky, registrace. U e-shopu si před obnovením poznamenejte, jaké objednávky od zálohy přibyly.
Obnovení vedle webu
Nejbezpečnější způsob testování a záchrany dat je obnovit zálohu vedle Vašeho stávajícího webu: na testovací subdoméně (test.example.com) nebo v samostatné složce, s vlastní databází. Váš skutečný web zůstane nedotčený. Poté můžete:
- zkontrolovat, zda je záloha kompletní;
- vyjmout z ní jednu věc (smazanou stránku, starou verzi textu) a ručně ji přenést;
- natrénovat si postup obnovy.
Někteří poskytovatelé hostingu to umožňují jedním tlačítkem (u WebOké Backups například „obnovit vedle stávajícího webu“); jinde nahrajete soubory a databázi na testovací místo ručně.
Pozor na adresu
Záloha webu https://example.com, kterou umístíte na https://test.example.com, stále „ví“, že patří na example.com: hodnoty siteurl a home v databázi (lekce 1.3) a všechny odkazy ukazují na Váš skutečný web. Výsledkem je, že kliknete na testovacím webu a skončíte na skutečném webu, nebo se přihlásíte na nesprávném místě. Po obnovení proto adresy upravte:
wp search-replace 'https://example.com' 'https://test.example.com' --all-tables --dry-run
wp search-replace 'https://example.com' 'https://test.example.com' --all-tablesNebo pomocí pluginu pro hledání a nahrazování, který rozumí serializovaným datům (lekce 3.2). Zároveň zapněte odrazování vyhledávačů (lekce 2.4) nebo nastavte heslo na testovacím webu a ujistěte se, že testovací web neposílá poštu skutečným zákazníkům (lekce 8.3).
Ruční obnovení databáze
Máte li soubor .sql (ze zálohy nebo exportu), obnovíte ho takto:
- Vytvořte prázdnou databázi a uživatele (lekce 2.3), nebo vyprázdněte stávající (pouze pokud jste si jistí).
- Importujte soubor v phpMyAdminu (záložka Import). U velkých souborů se phpMyAdmin může zaseknout; v takovém případě použijte importní funkci svého panelu nebo příkazovou řádku (
wp db import back-up.sqlnebomysql). - Zkontrolujte v souboru wp-config.php, že údaje o databázi souhlasí.
- Zkontrolujte předponu tabulek: odpovídá předpona v záloze (
wp_) hodnotě$table_prefixv souboru wp-config.php? Pokud ne, WordPress uvidí prázdnou instalaci a bude chtít instalovat znovu.
Kontrolní seznam po obnovení
Obnovení je úspěšné, až když web skutečně funguje. Projděte si:
- Domovskou stránku a několik běžných stránek a příspěvků otevřete v soukromém okně prohlížeče.
- Obrázky: zobrazují se (tedy složka uploads byla součástí zálohy)?
- Přihlášení do administrace.
- Nejdůležitější funkce: odeslání formuláře, vložení do košíku, vyhledávání.
- Trvalé odkazy: fungují všechny stránky, nebo dostáváte chybu 404 mimo domovskou stránku? Pak v nastavení Nastavení > Trvalé odkazy jednou uložte (lekce 2.4).
- Pluginy a šablonu: jsou aktivní a aktuální.
- Verzi: jde skutečně o obsah z data, které jste očekávali?
Poznamenejte si, jak dlouho obnovení trvalo. To je Vaše skutečná doba obnovy: jak dlouho bude web při problému nedostupný.
Jak často testovat
Základní pravidlo: testujte alespoň jednou za čtvrtletí (lekce 9.4), a po každé změně ve Vašem systému zálohování (nový plugin, jiný poskytovatel hostingu, výrazně větší web). Střídejte zdroje: jednou zálohu od poskytovatele hostingu, jindy svoji vlastní kopii mimo server (lekce 8.1).
V praxi: jak to vypadá v panelu
Jako příklad použijeme WebOké Backups a DirectAdmin. U jiných poskytovatelů hostingu se tlačítka mohou jmenovat jinak, ale volby jsou stejné: co obnovujete a kam.
- Nejprve vytvořte testovací subdoménu v DirectAdmin (Správa subdomén), s certifikátem.
- V WebOké Backups vyberte zálohu starou několik dní a zvolte obnovení souborů a databáze vedle stávajícího webu, na testovací místo.
- V obnovené databázi upravte adresy na testovací subdoménu.
- Projděte kontrolní seznam.
Shrnutí
- Záloha má cenu, až když se z ní dá obnovit; testujte proces obnovení.
- Vyberte, co obnovujete; soubory a databáze by měly pocházet ze stejného okamžiku. Vše, co se stalo po záloze, ztratíte.
- Zálohu obnovte vedle svého webu, abyste otestovali kompletnost nebo zachránili jednu věc, a teprve poté upravte adresy.
- Při importu databáze dávejte pozor na předponu tabulek a údaje v souboru wp-config.php.
- Po každém obnovení projděte pevně stanovený kontrolní seznam a poznamenejte si, jak dlouho to trvalo.
Kvíz
Úkol
Úkol D8.2: Obnovení zálohy v testovacím prostředí (staging). Obnovte zálohu starou několik dní na testovací subdoméně své vlastní domény (například herstel.example.com), vedle svého skutečného webu. Upravte adresy, zapněte odrazování vyhledávačů nebo nastavte heslo na testovacím místě a projděte kontrolní seznam z této lekce. Odškrtněte každý bod. Poznamenejte si: kterou zálohu (zdroj a datum) jste použili, jak dlouho obnovení trvalo, co se nepovedlo a jak jste to vyřešili. Testovací web ponechte pro úkol A8.3 a poté ho odstraňte.
Úkol D8.2: Obnovení zálohy v testovacím prostředí (staging)
Tento úkol provádíte sami; nikdo ho nekontroluje. Odškrtněte, co jste udělali, a označte úkol jako splněný.
Uveďte dobu trvání a alespoň jedno zjištění. "Nic" je také v pořádku, pokud dodáte, co jste zkontroloval/a.
Vaše zaškrtnutí a poznámky zůstávají pouze v tomto prohlížeči; nikam je neposíláme. Pokud jste přihlášeni, ukládáme v sekci Moje kurzy pouze to, že jste úkol splnili.
Doporučené zdroje
Tyto články popisují postupy v panelech WebOké; v jiných panelech fungují obdobně.
- Příručka k DirectAdmin 16.3: Obnovení zálohy DirectAdmin
- Příručka k DirectAdmin 16.5: Jde to i v Můj WebOké? WebOké Backups
- Příručka WebOké 6.10: WebOké Backups: obnovení souborů
- WebOké Zálohy: zobrazení, obnovení nebo stažení zálohy
- Příručka k DirectAdmin 12.5: Import databáze, i velkých souborů
- Příručka k DirectAdmin 4.5: Vytváření a mazání subdomén
