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.
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í:
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.
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).
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:
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.