Jak zálohovat systém Linux

Neriskujte ztrátu dat. Zálohujte svá cenná data z příkazového řádku Linuxu. Použijeme k tomu příkaz rsync a dokonce jsme pro něj našli několik pěkných volitelných grafických rozhraní.

Existuje mnoho způsobů, jak vytvořit záložní kopii souborů. Chtěli jsme vám ukázat robustní, flexibilní a spolehlivý způsob ochrany vašich dat. Kvůli němu jsme zvolili rsync dobře respektované algoritmy které vypočítávají rozdíly mezi soubory ve zdrojovém adresáři a cílovém adresáři. Přenášejí se pouze rozdíly mezi dvěma verzemi souboru, nikoli celý soubor, pokud tomu lze zabránit.

Když se tato efektivita spojí s jeho solidními výsledky při kopírování souborů a synchronizaci adresářů od poloviny 90. let, je rsync perfektním kandidátem pro vytváření záloh z příkazového řádku Linuxu.

Kromě toho existují nezávislé softwarové programy, které fungují jako front-end pro rsync. Poskytují grafická uživatelská rozhraní (GUI) pro rsync, která mohou někteří lidé považovat za jednodušší.

Čím jednodušší a rychlejší je vytvořit zálohu, tím je pravděpodobnější, že tak učiníte.

Použití rsync s externím pevným diskem

Chcete-li vytvořit záložní kopii dat na externí pevný disk, musí být pevný disk připojený a přístupný. Pokud do něj můžete psát, pak také rsync. V tomto příkladu je k počítači se systémem Linux připojen externí pevný disk USB s názvem SILVERXHD (pro „Stříbrný externí pevný disk“). Byl automaticky připojen operačním systémem.

Budete muset znát cestu k jednotce. V GNOME otevřete prohlížeč souborů Nautilus a na postranním panelu vyhledejte název jednotky.

Umístěte ukazatel myši na název externího disku a nápověda vám zobrazí cestu k disku.

V tomto příkladu nás nápověda informuje, že bod připojení pro souborový systém na externím disku je „/media/dave/SILVERXHD“.

Pokud to váš prohlížeč souborů nedělá, přejděte na externí disk a otevřete okno terminálu v tomto umístění. Pomocí příkazu pwd vytiskněte cestu k oknu terminálu.

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

Chcete-li použít rsync ke zkopírování obsahu adresáře do cílového umístění zálohy, použijte následující příkaz.

Volba -r (rekurzivní) způsobí, že rsync zkopíruje všechny vnořené podadresáře a jejich obsah. Všimněte si, že na konci slova „SILVERXHD“ je lomítko „/“, ale na snímku obrazovky se zalomilo na další řádek.

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

Proběhne zkopírování souboru a vrátíte se do příkazového řádku.

Pokud se podíváme na externí USB disk, vidíme, že adresáře, které jsou 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 a jeho obsahu

Pokud jste chtěli mít adresář Documents a jeho obsah zkopírovaný na externí disk, odstraňte „/“ z konce „/home/dave/Documents“ v příkazovém řádku takto:

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

Aby nedošlo k záměně, odstranil jsem dva dříve zkopírované adresáře z externího disku před provedením tohoto druhého příkazu.

Pokud necháme druhou kopii dokončit a znovu se podíváme na externí disk, vidíme, že adresář Dokumenty byl zkopírován. Jeho obsah je v tomto adresáři. Nejsou v kořenovém adresáři externího disku.

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

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

Udělali bychom to pomocí následujícího příkazu.

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

Při kontrole na externím disku vidíme, že byl vytvořen adresář záloh a v tomto adresáři je 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í souboru, přístupová oprávnění a další, pro zkopí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í) přinutí rsync vypsat soubory při 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: Byty přenesené do cíle.
Přijato: Byty přijaté na hostiteli.
Bajty/s: je efektivní přenosová rychlost.
Celková velikost: Představuje 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 představovat data, která nebylo nutné přenést.
Zrychlení: Jedná se o poměr mezi množstvím dat, která musela být odeslána, a celkovým množstvím dat, která jsou k dispozici. Pokud rsync potřebuje zkopírovat všechny soubory jako celek (například při prvním spuštění), zrychlení bude 1.0. Při dalším použití rsync optimalizuje přenosy. Odešle pouze rozdíly mezi soubory, nikoli celé soubory. SOUBORY beze změn budou ignorovány. Číslo zrychlení bude představovat poměr mezi malým množstvím dat, které bylo potřeba přenést, a celkovou velikostí souborů.

Pomocí možnosti Progress

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

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

Poskytnuté informace lze zobrazit mezi každým zkopírovaným souborem.

Uvedené informace jsou:

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

Přidání vyšší rychlosti

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

Možnost komprese nepřinese významné výhody pro přenosy zahrnující mnoho malých souborů. U kolekcí větších souborů může významně zkrátit dobu přenosu.

Také zde používáme možnost –částečné. rsync odstraní částečně přenesené soubory způsobené závadami sítě nebo jinými přerušeními. Možnost –partial přinutí rsync ponechat částečně přenesené soubory v cíli. Čistý čas rsync běží, takže nebude muset znovu přenášet části částečně přenesených souborů.

Pamatujte, že tuto možnost možná nebudete chtít použít, pokud existuje riziko, že někdo zamění částečně přenesené soubory za zcela přenesené soubory.

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

V našem příkladu jsou přínosy marginální.

Poměr zrychlení se zlepšil, ale o dvě setiny procenta! Ve scénáři reálného světa bude vaše vylepšení rychlosti působivější.

Použití rsync přes síť

Doposud jsme cílili na externí USB disk. Chcete-li jako cíl zálohy použít síťové umístění, použijte cestu k tomuto umístění na příkazovém řádku. Tady je síťové úložné zařízení (NAS) v síti, na které byl tento článek zkoumán.

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

Neexistují žádné speciální možnosti zálohování přes síť; to jsou všechny možnosti, které jsme již použili.

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

Není žádný rozdíl ve formátu výstupu.

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

Pokud znovu spustíme rsync, uvidíme, že nejsou žádné soubory k přenosu, protože nedošlo k žádným změnám, ale stále jsou nějaké bajty přenášeny tam a zpět. Toto je množství dat, které je třeba přenést, aby bylo možné porovnat seznam souborů v cíli se seznamem souborů ve zdroji.

Poměr zrychlení je v tomto případě o řád lepší. V praxi budou vaše výkonové poměry někde mezi našimi dvěma pseudoumělými čteními.

Použití rsync přes SSH

rsync podporuje zálohování přes SSH připojení. Na příkazovém řádku musíme zadat název uživatelského účtu a umístění SSH. Používáme zde název sítě, ale můžete také použít IP adresu.

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

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

Budete požádáni o heslo uživatelského účtu na vzdáleném počítači. Toto není vaše heslo na zdrojovém počítači.

Zálohování bude dokončeno jako obvykle. Propustnost není tak rychlá 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í

Můžeme snadno vytvářet automatické zálohy přidáním položek do vašeho souboru crontab.

crontab -e

Nastavíme automatické zálohování, které se spustí každý den ve 4:30 (pokud je počítač v tu dobu samozřejmě zapnutý). Syntaxe příkazu rsync se vůbec nemění.

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

Umístění přátelské tváře na Rsync

Lidé, kteří jsou méně spokojeni s příkazovým řádkem, mohou použít některý z mnoha programů, které vkládají grafické uživatelské rozhraní (GUI) na rsync. Dva dobré příklady jsou luckyBackup a Grsync. Oba tyto programy umožňují výběr mnoha možností rsync prostřednictvím uživatelského rozhraní.

Program Grsync se soustředí na to, aby byl vizuálním obalem pro rync. Poskytuje snadný přístup k možnostem rsync a přidává pouze omezenou sadu nových funkcí.

Jeden z dialogů nastavení Grsync,

Program luckyBackup je mnohem víc než jen jednoduchý obal pro rsync. Jedná se o zálohovací program, který v zákulisí používá rsync. LuckyBackup může například vytvořit několik „snímků“ vaší zálohy. Poté se můžete vrátit zpět k verzím souborů v libovolném snímku.

Jeden z dialogů nastavení luckyBackup.

Chcete-li nainstalovat Grsync

Chcete-li nainstalovat Grsync v Ubuntu, použijte tento příkaz:

sudo apt-get install grsync

Chcete-li nainstalovat Grsync ve Fedoře, použijte tento příkaz:

sudo dnf install grsync

Chcete-li nainstalovat Grsync v Manaro, použijte tento příkaz:

sudo pacman -Syu grsync

Chcete-li nainstalovat luckyBackup

Chcete-li nainstalovat luckyBackup v Ubuntu, použijte následující příkaz:

sudo apt-get install luckybackup

Chcete-li nainstalovat luckyBackup do Fedory, použijte následující příkaz:

sudo dnf install luckybackup

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

Neriskujte, často zálohujte svá data

Zálohy jsou naprosto zásadní. Zálohujte často, zálohujte do mnoha umístění a zálohujte na různá média. Jakmile to bude nastaveno, rsync to všechno udělá za vás.