Jak zálohovat systém Linux


Zálohování dat v Linuxu pomocí příkazové řádky

Neponechávejte svá data náhodě. Vytvářejte zálohy svých cenných dat v Linuxu prostřednictvím příkazového řádku. Využijeme k tomu nástroj rsync, pro který existují i grafická rozhraní.

Existuje mnoho metod, jak uchovat kopie vašich souborů. My vám ukážeme efektivní, adaptabilní a spolehlivý způsob, jak chránit vaše data. Zvolili jsme rsync, který se opírá o uznávané algoritmy pro porovnávání rozdílů mezi soubory v různých adresářích. Díky tomu se přenášejí jen změny, nikoliv celé soubory.

Spojení této efektivity s jeho osvědčenou spolehlivostí při kopírování a synchronizaci adresářů, které se používá už od poloviny 90. let, činí z rsync ideálního kandidáta pro zálohování z příkazového řádku v Linuxu.

Kromě toho existují aplikace třetích stran, které slouží jako grafické rozhraní pro rsync. Poskytují uživatelsky přívětivé GUI, které může být pro některé jedince pohodlnější.

Čím je proces zálohování jednodušší a rychlejší, tím je pravděpodobnější, že jej budete pravidelně provádět.

Použití rsync s externím diskem

Pro vytvoření zálohy na externím disku je nutné, aby byl tento disk připojený a přístupný. Pokud je možné na něj zapisovat, je možné použít i rsync. V našem příkladu je k počítači s Linuxem připojený externí USB disk s názvem SILVERXHD. Operační systém jej automaticky připojil.

Je třeba znát cestu k tomuto disku. V prostředí GNOME otevřete souborový prohlížeč Nautilus a v postranním panelu najděte název disku.

Když najedete kurzorem myši na název externího disku, zobrazí se vám cesta k němu.

V tomto případě je bod připojení pro souborový systém externího disku „/media/dave/SILVERXHD“.

Pokud váš souborový prohlížeč tuto funkci nenabízí, otevřete terminál v umístění externího disku. Použijte příkaz `pwd` k zobrazení cesty v terminálu.

Kopírování obsahu zdrojového adresáře

Pro zkopírování obsahu adresáře pomocí rsync do cílového umístění zálohy, použijte následující příkaz:

Volba `-r` (rekurzivní) zajišťuje, že rsync zkopíruje všechny podadresáře i s obsahem. Všimněte si lomítka „/“ na konci slova „SILVERXHD“, které se ale na snímku obrazovky zalomilo na další řádek.

rsync -r /home/dave/Documents/ /media/dave/SILVERXHD/

Po zkopírování se vrátíte zpět do příkazového řádku.

Když se podíváme na externí USB disk, zjistíme, že adresáře obsažené v adresáři Dokumenty byly zkopírovány do kořenového adresáře externího disku.

ls

Kopírování zdrojového adresáře i s jeho obsahem

Pokud chcete zkopírovat adresář Dokumenty včetně jeho obsahu na externí disk, odstraňte lomítko „/“ z konce „/home/dave/Documents“ v příkazu:

rsync -r /home/dave/Documents /media/dave/SILVERXHD/

Pro přehlednost jsem odstranil dva dříve zkopírované adresáře z externího disku před provedením tohoto druhého příkazu.

Po dokončení kopírování a opětovné kontrole externího disku vidíme, že adresář Dokumenty byl zkopírován a jeho obsah se nachází uvnitř tohoto adresáře, nikoliv v kořenovém adresáři externího disku.

Kopírování do konkrétního cílového adresáře

Chcete-li kopírovat do konkrétního adresáře na cílovém disku, přidejte jeho název do cílové cesty. Předpokládejme, že chceme zkopírovat obsah adresáře „/home/dave/Documents“ do adresáře „backups“ na externím disku.

Použijeme k tomu následující příkaz:

rsync -r /home/dave/Documents/ /media/dave/SILVERXHD/backups/

Při kontrole externího disku zjistíme, že byl vytvořen adresář „backups“ a v něm se nachází obsah adresáře „/home/dave/Documents“.

ls
ls backups

Zachování vlastnictví souborů a oprávnění

Použijte volbu `-a` (archiv) pro zachování atributů souborů, jako jsou data úprav, vlastnictví, přístupová oprávnění a další pro kopírované soubory, symbolické odkazy a speciální blokové soubory.

rsync -ra /home/dave/Documents/ /media/dave/SILVERXHD/backups/

Použití podrobného režimu

Volba `-v` (verbózní) zajistí, že rsync vypíše soubory během jejich kopírování.

rsync -rav /home/dave/Documents/ /media/dave/SILVERXHD/backups/

Po dokončení kopírování se zobrazí souhrn zálohy.

Odesláno: Počet bytů přenesených do cíle.
Přijato: Počet bytů přijatých na hostiteli.
Bajty/s: Efektivní přenosová rychlost.
Celková velikost: Velikost dat, která by byla odeslána, pokud byste nepoužívali rsync. Při dalších spuštěních rsync přenese pouze rozdíly mezi soubory. Tento údaj bude reprezentovat data, která nebylo nutné přenášet.
Zrychlení: Poměr mezi množstvím dat, která musela být odeslána a celkovým množstvím dostupných dat. Pokud rsync musí zkopírovat všechny soubory (např. při prvním spuštění), zrychlení bude 1.0. Při dalším použití rsync optimalizuje přenosy. Odesílá pouze rozdíly mezi soubory, nikoliv celé soubory. Soubory beze změn jsou ignorovány. Číslo zrychlení bude poměr mezi malým objemem dat, který bylo potřeba přenést a celkovou velikostí souborů.

Použití volby Progress

Volba `-P` (progress) způsobí, že rsync po zkopírování každého souboru vygeneruje stručnou zprávu o průběhu.

rsync -raP /home/dave/Documents/ /media/dave/SILVERXHD/backups/

Informace jsou zobrazovány průběžně během kopírování souborů.

Informace zahrnují:

Velikost bajtů: Data přenesená pro daný soubor.
Procento: Procento přeneseného souboru.
B/s: Rychlost přenosu dat.
Zbývající čas: Odhadovaný čas do dokončení přenosu souboru.
xfr#: Počet dosud přenesených souborů.
to-chk: Počet souborů, které zbývá zkontrolovat a ověřit pomocí optimalizačních algoritmů.

Zvýšení rychlosti přenosu

Pro urychlení přenosu použijte volbu `-z` (komprese). Ta zkomprimuje soubor při přenosu, ale v cílovém adresáři se uloží nekomprimovaný.

Komprese není příliš výhodná pro přenosy velkého množství malých souborů. U kolekcí větších souborů může výrazně zkrátit dobu přenosu.

Používáme zde i volbu `–partial`. rsync odstraňuje neúplně přenesené soubory, které vznikly v důsledku problémů sítě nebo jiného přerušení. Volba `–partial` naopak zajistí, že rsync ponechá neúplně přenesené soubory v cíli. rsync tak při opětovném spuštění nemusí znovu přenášet části souborů, které byly již dříve částečně přeneseny.

Mějte na paměti, že tuto volbu možná nebudete chtít používat, pokud hrozí riziko, že někdo zamění částečně přenesené soubory za kompletně přenesené.

rsync -ravz  --partial /home/dave/Documents/ /media/dave/SILVERXHD/backups/

V našem příkladu je přínos komprese okrajový.

Poměr zrychlení se zlepšil o dvě setiny procenta! V reálném prostředí může být zlepšení rychlosti výraznější.

Použití rsync přes síť

Dosud jsme jako cíl používali externí USB disk. Pro použití síťového umístění jako cíle zálohy, použijte cestu k tomuto umístění v příkazovém řádku. Zde je použito síťové úložiště (NAS) v síti.

Můžeme použít stejný trik, který jsme použili dříve k určení cesty k NAS, tedy najetím myší na připojení k tomuto zařízení v Nautilu.

Nejsou potřeba žádné speciální možnosti pro zálohování přes síť; lze použít všechny možnosti, které jsme již zmínili.

rsync -ravz  --partial /home/dave/Documents/ /media/dave/NAS/dave/backups/

Formát výstupu se nezměnil.

Není překvapením, že došlo k výraznému zlepšení hodnoty Bajty/s.

Pokud rsync spustíme znovu, uvidíme, že nejsou žádné soubory k přenosu, protože nedošlo k žádným změnám, ale stále dochází k přenosu dat mezi cílem a zdrojem. Jedná se o množství dat, která je třeba přenést, aby se porovnal seznam souborů v cíli se seznamem souborů ve zdroji.

Poměr zrychlení je v tomto případě o řád lepší. V praxi se budou vaše výkonnostní poměry pohybovat někde mezi našimi dvěma pseudoumělými měřeními.

Použití rsync přes SSH

rsync umožňuje i zálohování přes SSH připojení. V příkazovém řádku je třeba zadat uživatelské jméno a umístění SSH. V našem případě používáme název sítě, ale lze použít i IP adresu.

Všimněte si „:“ mezi údaji SSH připojení a začátkem síťové cesty na vzdáleném cíli.

rsync -ravz  --partial /home/dave/Documents/ [email protected]:/home/dave/Backups/

Budete vyzváni k zadání hesla uživatelského účtu na vzdáleném počítači. Toto heslo není heslo vašeho účtu na zdrojovém počítači.

Zálohování bude dokončeno jako obvykle. Propustnost nebude tak vysoká jako u běžného síťového připojení, kvůli šifrování a dešifrování, které probíhá v zabezpečeném shellu.

Automatizace zálohování

Automatické zálohy lze snadno vytvořit přidáním položek do souboru `crontab`.

crontab -e

Nastavíme automatické zálohování, které se spustí každý den ve 4:30 (za předpokladu, že je počítač v tu dobu zapnutý). Syntax příkazu rsync se nijak nemění.

Ctrl+O zapíše změny do souboru a Ctrl+X zavře editor nano.

Grafická rozhraní pro Rsync

Uživatelé, kteří nejsou tak zvyklí na příkazový řádek, mohou použít některý z programů, které nabízí grafické uživatelské rozhraní (GUI) pro rsync. Dva dobré příklady jsou luckyBackup a Grsync. Oba programy umožňují vybrat mnoho voleb rsync prostřednictvím uživatelského rozhraní.

Program Grsync se zaměřuje na to, aby byl vizuální nadstavbou pro rsync. Poskytuje snadný přístup k možnostem rsync a přidává jen omezenou sadu nových funkcí.

Jeden z dialogů nastavení Grsync.

Program luckyBackup je mnohem víc než jen nadstavba pro rsync. Je to zálohovací program, který používá rsync na pozadí. LuckyBackup například umí vytvářet několik „snímků“ vaší zálohy. Můžete se pak vrátit k souborům v libovolném snímku.

Jeden z dialogů nastavení luckyBackup.

Instalace Grsync

Pro instalaci Grsync v Ubuntu použijte tento příkaz:

sudo apt-get install grsync

Pro instalaci Grsync ve Fedoře použijte tento příkaz:

sudo dnf install grsync

Pro instalaci Grsync v Manjaru použijte tento příkaz:

sudo pacman -Syu grsync

Instalace luckyBackup

Pro instalaci luckyBackup v Ubuntu použijte tento příkaz:

sudo apt-get install luckybackup

Pro instalaci luckyBackup ve Fedoře použijte tento příkaz:

sudo dnf install luckybackup

V Manjaru musíte nainstalovat luckyBackup z Arch User Repository (AUR). Můžete to udělat pomocí správce balíčků pamac.

Nenechávejte zálohování náhodě – zálohujte svá data často

Zálohy jsou klíčové. Zálohujte pravidelně, zálohujte na více míst, zálohujte na různá média. Jakmile si vše nastavíte, rsync to pro vás zařídí.