Záložní kopie by měly hrát důležitou roli při plánování serveru. Jednotlivé zálohy lze rychle nastavit a provést pomocí bezplatného synchronizačního nástroje nebo protokolu rsync.

Jak nastavit zálohy rsync na serverech Linux

Chcete-li používat rsync v operačních systémech Linux, nainstalujte protokol v balíčku se stejným názvem a vytvořte zálohy pomocí příkazů terminálu. V následující části vám na příkladu Ubuntu ukážeme nejdůležitější kroky pro nastavení zálohovacích procesů pomocí rsync. Přidali jsme také praktické příklady.

Rsync je v Ubuntu nainstalován již ve výchozím nastavení. Pokud tomu tak není, nainstalujte jej pomocí následujícího příkazu:

sudo apt-get install rsync
bash

Pokud je nainstalován rsync, můžete pomocí příkazů terminálu určit zdrojové a cílové adresáře a možnosti zálohování. Jako zdrojovou a cílovou cestu je třeba zadat příslušný zdrojový adresář a adresář, do kterého má rsync uložit záložní kopii. Standardní režim („Archive“) se provádí například takto:

rsync -a source directory target directory
bash
Tip

Pomocí testovacího běhu -n zkontrolujte správnost zadaných parametrů a adresářů. Nesprávné zadání může v nejhorším případě vést ke ztrátě dat. Pokud některé soubory nejsou zkopírovány tak, jak by měly, je to často způsobeno nedostatečnými přístupovými právy. V takovém případě zkuste příkaz spustit jako správce s předponou sudo.

Pět příkladů použití zálohy rsync

Jakmile se seznámíte se základními příkazy, rsync se stane vynikajícím nástrojem pro kopírování souborů a vytváření záloh. Můžete buď vyzkoušet a použít jednotlivé příkazy, nebo použít osvědčené kombinace dostupných parametrů rsync. V následujících částech jsme shrnuli pět oblíbených způsobů provádění záloh pomocí rsync.

Standardní zálohování s režimem archivace

Režim archivu zkopíruje všechny soubory ze zdrojového adresáře do cílového adresáře včetně všech podadresářů. Zachovají se všechna oprávnění, časová razítka a data zařízení. V mnoha případech se jedná o ideální a nejjednodušší řešení, protože kombinuje různé možnosti v jediném parametru. Pokud tento režim zkombinujete s parametrem -v, získáte během procesu zálohování také komplexní informace o stavu.

rsync -av Source directory Target directory
bash

Jako zdrojovou a cílovou cestu je nutné zadat příslušný zdrojový adresář a adresář, do kterého má rsync uložit záložní kopii.

Identická kopie zdrojového adresáře

Rsync dokáže nejen přenášet soubory z bodu A do bodu B, ale také vytvářet identické kopie složek nebo celých adresářů. Po standardní archivaci jsou soubory, které se před zálohováním rsync nacházely v cílové složce (ale nejsou ve zdrojové složce), smazány.

rsync -av --delete Source directory Target directory
bash

Zálohování rsync s vyloučením souborů konkrétního formátu

Pokud chcete spustit zálohu rsync s vyloučením souborů v určitém formátu, můžete k tomu použít příkaz --exclude. Parametr umožňuje definovat individuální znakový vzor, který rsync používá jako indikátor pro ignorování souboru. Následující ukázkový kód vylučuje soubory .txt.

rsync -av --exclude'*.txt' Source directory Target directory
bash

Zálohování souborů s minimální nebo maximální velikostí

Pokud místo konkrétního znakového vzoru chcete, aby velikost souboru ovlivňovala vyloučení konkrétních souborů v záloze rsync, můžete použít parametry --max-size a --min-size. Pokud použijete následující příkaz, budou zkopírovány pouze soubory o velikosti minimálně 10 MB a maximálně 100 MB:

rsync -av --min-size=10MB --max-size=100MB Source directory Target directory
bash

Zálohování včetně převodu formátu znaků

Možná budete muset převést soubory do jiného formátu znaků v cílovém adresáři. Pokud chcete například přenést data z počítače Mac na server Linux, budete muset provést převod formátu znaků. Zařízení Apple používají ve výchozím nastavení UTF8-MAC, který není k dispozici v systémech Linux a způsobil by problémy se speciálními znaky. Pomocí možnosti --iconv můžete snadno přizpůsobit kódování znaků v rámci procesu zálohování rsync (v níže uvedeném příkladu z UTF8-MAC na UTF8):

rsync -av --iconv=UTF8-MAC,UTF8 Source directory Target directory
bash

Přehled nejdůležitějších možností zálohování rsync

Jednotlivá nastavení pro zálohy rsync můžete definovat pomocí různých možností, které lze zkrátit písmenem nebo napsat v plném znění. Následující tabulka shrnuje nejdůležitější parametry, které lze podle potřeby kombinovat:

Možnost Funkce
-r, --recursive Zálohování rsync zohledňuje všechny podadresáře
-u, --update Pokyn k přeskočení souborů v cílovém adresáři, které jsou novější než soubory v zdrojovém adresáři
-c, --checksum Rozlišování zdrojových a cílových souborů na základě kontrolních součtů
-l, --links Symbolické odkazy se kopírují jako takové (a ne jako soubory)
-p, --perms Oprávnění souborů jsou zachována.
-g, --group Oprávnění souborů skupiny jsou zachována.
-t, --times Časová razítka souborů (poslední změna) jsou zachována.
-o, --owner Vlastníci souborů jsou zachováni (pouze pokud jsou správci)
-D, --devices Údaje o zařízení jsou zachovány.
-z, --compress Automatická komprese přenesených souborů
--compress-level=NUM Určuje úroveň komprese; možné jsou hodnoty („NUM“) mezi 0 (bez komprese) a 9 (maximální komprese)
-v, --verbose Podrobnější informace během procesu zálohování
-q, --quiet Skrýt všechny podrobnosti o procesu zálohování (kromě chybových hlášení)
-a, --archive Režim archivaci používaný jako standardní režim a identický s kombinací možností — rlptgoD
-n, --dry-run Zkušební provoz, při kterém nedochází k žádným skutečným změnám
-h, --help Pomocné menu (lze použít pouze bez zadání zdrojového a cílového adresáře nebo jiných argumentů)
--bwlimit=KBPS Omezení šířky pásma (kilobajty za sekundu); např. --bwlimit=30 (omezení na 30 kbit/s)
--exclude=SAMPLE Vyloučení vzoru ze synchronizace; např. --exclude sample folder (složka „sample folder“ není synchronizována).
--delete Odstranit všechny soubory, které jsou v cílovém adresáři, ale nejsou v zdrojovém adresáři.
--progress Zobrazit dobu trvání zálohování rsync a rychlost přenosu.
--list-only Zobrazit seznam souborů namísto zálohy.
--stats Komplexní zpráva o přenesených datech (počet, velikost)
--max-size=SIZE Definujte maximální velikost souboru, např. --max-size=10MB (přenosu se účastní pouze soubory o velikosti do 10 MB).
--ignore-errors Zabránit zrušení procesu zálohování v případě chyby
Přejít do hlavního menu