Linux jako zálohovací server (2)

Dnes si ukážeme, jak lze provádět zálohy místních a vzdálených systémů pomocí programu rdiff-backup a jak na stanice s Windows.

21.2.2005 10:00 | Petr Zajíc | přečteno 14743×

V minulém díle tohoto miniseriálu jsme si vysvětlili rozdíly mezi jednotlivými metodami zálohování a nainstalovali jsme program rdiff-backup. Dnes se podíváme na to, co tento program umí a na slíbené zálohování stanic s Windows.

Začínáme

Jak byste asi čekali, nejjednodušší možnost využití programu rdiff-backup je prostá záloha souborů. Pakliže chcete například zazálohovat obsah složky data ve svém domovském adresáři do složky backup tamtéž, postačí vám znát následující příkaz:

rdiff-backup ~/data ~/backup

Pokud si něco takového zkoušíte a podíváte se do adresáře backup, zjistíte, že obsahuje soubory z původního adresáře (včetně případných podadresářů) a navíc jeden adresář rdiff-backup-data. V něm jsou umístěna metadata o zálohování a případné změny v souborech od poslední zálohy. Pokud jste zvídaví, můžete si jej prohlédout; nicméně slouží jen pro zálohování samotné a nemusíte se o něj starat.

Jestliže změníte nějaké soubory v adresáři data a spustíte rdiff-backup znovu, bude již situace mnohem zajímavější. Já mám například v adresáři soubor petr.txt, do něhož připíšu data a zopakuji zálohování:

echo "Dalsi data..." >> ~/data/petr.txt
rdiff-backup ~/data ~/backup

Stane se několik věcí:

  1. V adresáři ~/backup bude nyní soubor petr.txt zaktualizován
  2. Do adresáře ~/backup/rdiff-backup-data se zapíší metadata o novém zálohování, jeho průběhu, výsledku, případně chybách.
  3. V adresáři ~/backup/rdiff-backup-data/increments vznikne soubor popisující rozdíl mezi starou a novou verzí souboru petr.txt. To je důležité, protože mi to umožní obnovit libovolnou předchozí verzi zálohovaného souboru.

Pozn.: Mimochodem, soubory popisující rozdíly mezi starou a novou verzí jsou většinou komprimovány. Mělo by se tak ušetřit něco místa na disku. V praxi to funguje velmi dobře u textových souborů, u binárních je však většinou úspora místa poměrně nevelká. Není divu - jestliže budete například porovnávat dvě verze souborů textového procesoru OpenOffice.Org, bude se jednat o již komprimované soubory. Jejich další komprimací se již nic nevyřeší. Kompresi inkrementačních souborů však lze vypnout, vypnout pro některé přípony nebo dokonce vypínat a zapínat dle rozmaru. Rdiff-backup bude i nadále fungovat.

Zálohování po síti

Na lokální zálohování se rdiff-backup pochopitelně použít dá. Mnohem užitečnější však může být možnost zazálohovat data ze vzdáleného stroje. Je to jednoduché. Pomocí následujícího příkazu:

rdiff-backup [uživatel]@[stroj (IP nebo název)]::/etc ~/etc_backup

tak například můžeme zazálohovat adresář /etc ze vzdáleného stroje do vlastního (do adresáře ~/etc/backup). Skript využívá ssh, takže je přenos relativně bezpečný. Dokumentace dokonce uvádí, že lze takto zálohovat i data mezi dvěma vzdálenými systémy. Pochopitelně, že v každém případě hrají roli práva, která máte na jednotlivých systémech přidělena (například zálohovat smíte jen tam, kam máte povolena práva k zápisu).

Zálohování jen vybraných souborů

Vraťme se ale k úlohám souvisejícím s typickým zálohováním dat. V takovém případě pravděpodobně nebudete chtít zálohovat celé adresáře, ale jen vybrané soubory. Programu rdiff-backup to můžeme sdělit pomocí přepínačů. Jejich pochopení vyžaduje trochu cviku a nebudu jej zde podrobně rozebírat, k tomu slouží manuál.

Pro praxi je však dobré vědět, že rdiff-backup může přijímat seznam souborů, které má zálohovat, a to například ze souboru nebo ze standardního vstupu. Je to jediný způsob, kterým jsem rdiff-backup donutil zálohovat ze stanic s Windows soubory jen určitých několika typů (přípon). Scénář pak vypadá nějak takto:

[seznam souborů] | rdiff-backup --include-filelist-stdin --exclude '**' [co] [kam]

Kde platí, že:

Praxe

V praxi jsem při zálohování windowsových počítačů postupoval následujícícm způsobem:

\.doc$
\.xls$
\.txt$
a tak dále...

(bude sloužit pro grep, proto ty metaznaky)

V příštím, posledním díle se s vámi podělím o zálohovací skript, který dělá to, co tady popisuji a nastíním některé problémy, které jsem v souvislosti s tím musel řešit. Rovněž se podíváme na to, jak data z takto vytvořené zálohy můžeme obnovit.

Online verze článku: http://www.linuxsoft.cz/article.php?id_article=707