Jak vytvořit zálohy serveru pomocí rsync
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 rsyncbashPokud 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 directorybashPomocí 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 directorybashJako 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 directorybashZá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 directorybashZá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 directorybashZá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 directorybashPř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 |