Jak zálohovat instalaci Drupalu?

Spustili jste web postavený na Drupalu, úspěšně jej provozujete několik týdnů či měsíců a najednou přijde studená sprcha. Při instalaci modulu, který jste chtěli vyzkoušet, došlo k problému s databází. Web nyní píše jednu chybu za druhou. Odebrání modulu to nevyřeší. Připravte se na podobné krizové scénáře pravidelným vytvářením zálohy Drupalu.

Reklama

Na webové stránky, nejenom ty na Drupalu, číhá na internetu spousta problémů. Výše uvedená chyba způsobená nevyzkoušeným modulem, nemusí být nejzávažnější pro zkušené uživatele. Problémy mohou nastat i při aktualizaci Drupalu z jedné verze na druhou, kdy použité moduly nejsou s novou verzí jádra kompatibilní. K tomu je samozřejmě potřeba přičíst problémy typu útok hackera, selhání serveru nebo webhostera.

Zálohu webu běžícího na systému Drupalu můžete vytvořit několika způsoby. Máte-li přístup na server přes SSH, je asi nejjednodušším způsobem pro zálohování použití příkazů Linuxu pro zálohu databáze MySQL a příkazu gzip pro zálohu souborů. Vytvořené zálohy si pak přes FTP nakopírujete do počítače.

Do příkazového řádku na serveru se dostanete i u sdílených webhostingů, nemusíte mít svůj vlastní server. Tuto možnost nabízí například můj oblíbený HostGator. V jeho administraci přes cPanel najdete i přímé odkazy pro vytváření zálohy souborů a stažení zálohy databáze. Má to jednu nevýhodu - zálohování databáze není automatické (vyjma týdenních záloh jejich serveru), zálohování souborů je omezeno číslem 50 000.

Budete-li mít vytvořenu vlastní zálohu, můžete data rychle obnovit i bez nutnosti čekat na administrátora od poskytovatele webového prostoru.

Alternativou k výše uvedeným možnostem zálohování jsou speciální moduly pro Drupal. Vybral jsem tři, o dalších vlastně ani nevím. Každý z níže uvedených modulů se hodí k trošku jinému využití záloh.

1. Modul DB Maintenance

Předtím, než spustíte zálohování databáze Drupalu, je dobré optimalizovat a případně opravit tabulky v databázi. Tuto operaci je vhodné provádět pravidelně, web tak udržíte v dobrém stavu a případné zálohy budou co nejmenší. Modul DB Maintenance vám pomůže jak s optimalizacemi a opravami, tak s pravidelným vytvářením záloh.

Po jeho zapnutí přejděte do Nastavení webu, DB Maintenance. Zapněte volbu Attempt REPAIR of table if OPTIMIZE is problematic (provede nezbytnou údržbu tabulek) a označte všechny tabulky v databázi. Nezapomeňte se do tohoto nastavení vrátit vždy, když nainstalujete nový modul - řada modulů totiž přidává nové tabulky.

Nastavte optimalizační interval, doporučuji spouštění jednou týdně. Dále nastavte intervaly zálohování (pro databázi a pro soubory), upravte cesty k příkazům pro vytváření zálohy a zadejte svou mailovou adresu.

Pozor, zálohu databáze a souborů nabízí verze DB Maintenance momentálně označená jako vývojová.

Důležité: Výchozí nastavení cest k nástrojům pro zálohování zřejmě nebude fungovat všude. Jedna věc je, zda poskytovatel webhostingu umožní jejich spuštění, druhá, zda máte správně nastaveny cesty. Otestujete to snadno. Nastavte vytváření zálohy při každém spuštění cronu a spusťte cron.php. Podívejte se do složky, kam se má záloha ukládat. Pokud nevznikne soubor pojmenovaný nějak takto 20090220_10-46-13_maxiorel_maxiorelcom_db.sql, pak je něco špatného v nastavení. Například u HostGatoru je nutné upravit cestu k adresáři se zálohou nikoli relativně, ale absolutně vzhledem k serveru, tedy místo /tmp na /home/yourname/tmp.

Poznámka k bezpečnosti: Nenechejte zálohy ukládat do složek, které jsou přístupné z webového prohlížeče. Bohužel řada poskytovatelů webu jinou možnost nenabízí.

2. Modul Backup Files

Pokud chcete zálohovat pouze soubory, je zde alternativa v podobě modulu Backup Files. Upozorňuji, že bez zálohy databáze nejste schopni web obnovit, ale i záloha souborů je nutná - například kvůli obrázkům vloženým do článků. Soubory lze samozřejmě zkopírovat i pomocí FTP, modul Backup Files je však zabalí do archivu, což je pohodlnější a v řadě případů rychlejší.

Modul najdete ve Správě obsahu, Backup Files. Nejprve specifikujte složky, které chcete zálohovat. K výchozí složce s uploadovanými soubory doporučuji doplnit složku s tématy a moduly. To vám spolu s databází stačí k tomu, abyste v případě potřeby web znovu obnovili. Samozřejmě ponejprv doporučuji přes FTP stáhnout celou strukturu webu, i s ostatními složkami Drupalu. Vyzkoušejte nastavení tlačítkem Test settings.

Poznámka: Zálohy souborů vytvářená pomocí DB Maintenance a Backup Files se mírně liší jak ve velikosti, tak ve způsobu vytváření. Podrobněji níže.

3. Backup and Migrate

Třetím zálohovacím modulem je Backup and Migrate. Tento modul je určen především pro ty uživatele Drupalu, kteří se chystají převést svůj web z jednoho webhostingu na jiný. (Zkuste třeba český Webhosting C4.) K modulu se dostanete přes Správu obsahu. Nabídne vám čtyři různé záložky:

Backup/Export DB - zde vyberte tabulky, které chcete ze zálohy vyloučit (nedoporučuji) a tabulky, které chcete zálohovat bez obsahu (kvůli velikosti doporučuji pro accesslog a všechny tabulky cache_). Zadejte název zálohy s využitím nahrazovacích vzorků, nastavte kompresi a klepněte na tlačítko pro vytvoření zálohy.

Restore/Import DB - na této záložce obnovujete databázi z předchozí vygenerované zálohy. Tu nahráváte jako soubor z počítače. Myslím, že tato funkce je u řady webů nepoužitelná, protože mnozí poskytovatelé omezují maximální velikost nahrávaného souboru na 2 MB.

Saved Backups - i zde můžete data obnovovat ze zálohy, s tím rozdílem, že zde vidíte záložní soubory, které se nacházejí na webu.

Backup Schedule - plánovač vytváření záloh databáze. Zadejte interval v hodinách a počet starých záloh, které mají na serveru zůstat.

Vybírejte podle potřeby

Každý z uvedených zálohovacích modulů pro Drupal je určen jiným uživatelům, resp. pro jiný účel. Pokud jej na svém hostingu zprovozníte, pak vřele doporučuji DB Maintenance, který v pravidelném intervalu vytváří zálohy databáze a souborů.

Modul Backup Files je vhodný pro ty uživatele, kteří potřebují nějakým způsobem vytvářet zálohu souborů jinak, než přes FTP.

A konečně modul Backup and Migrate využijí ti z vás, kdo se chystají svůj web s Drupalem přesunout.

Slíbil jsem zmínit rozdíl ve vytváření zálohy u prvních dvou modulů. DB Maintenance používá k vytváření zálohy tar.gz příkaz tar, k jehož spuštění je třeba mít ze strany poskytovatele hostingu oprávnění. Modul Backup Files používá k témuž účelu Archive_Tar z balíčku PHP knihoven PEAR Package, měl by tedy fungovat na více webech. Záloha vytvořená přímo příkazem tar má lepší kompresí.

Doufám, že vám těchto pár tipů pomůže se zálohování vašich webů postavených na Drupalu. Novým čtenářům připomínám, že Drupalu se na Maxiorlovi věnujeme pravidelně v příslušné sekci, kde nechybí ani video tutoriály doplněné mluveným komentářem v češtině.

Tagy: 

Reklama

Komentáře

pěkné, díky!

Taky mockráte děkuji :)

Existuje nějaký český hosting, který dovolí přímý přístup k nástrojům TAR, apod. ?

(zatím jsem se nesetkal s kladnou odezvou..)

Podporu TARu má Webhosting C4, pokud vím.

Majitel Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal. Jsem i na Twitteru.

Přidat komentář