Ako vytvárať zálohy servera pomocou rsync
Záložné kópie by mali zohrávať dôležitú úlohu pri plánovaní vášho servera. Jednotlivé zálohy je možné rýchlo nastaviť a vykonať pomocou bezplatného synchronizačného nástroja alebo protokolu rsync.
Ako nastaviť zálohy rsync na serveroch Linux
Ak chcete používať rsync v operačných systémoch Linux, nainštalujte protokol v balíku s rovnakým názvom a vytvorte zálohy pomocou príkazov terminálu. V nasledujúcej časti vám na príklade Ubuntu ukážeme najdôležitejšie kroky pri nastavovaní procesov zálohovania pomocou rsync. Pridali sme aj praktické príklady.
Rsync je v Ubuntu predinštalovaný. Ak tomu tak nie je, nainštalujte ho pomocou nasledujúceho príkazu:
sudo apt-get install rsyncbashAk je nainštalovaný rsync, môžete pomocou príkazov terminálu určiť zdrojové a cieľové adresáre a možnosti zálohovania. Príslušný zdrojový adresár a adresár, do ktorého má rsync uložiť záložnú kópiu, musia byť určené ako zdrojová a cieľová cesta. Štandardný režim („Archív“) sa vykonáva napríklad takto:
rsync -a source directory target directorybashPomocou testovacieho behu -n skontrolujte správnosť zadaných parametrov a adresárov. Nesprávne zadanie môže v najhoršom prípade viesť k strate údajov. Ak niektoré súbory nie sú skopírované tak, ako by mali byť, je to často spôsobené chýbajúcimi prístupovými právami. V takom prípade skúste spustiť príkaz ako správca s predponou sudo.
Päť príkladov použitia zálohovania rsync
Akonáhle ovládate základné príkazy, rsync je vynikajúcim nástrojom na kopírovanie súborov a vytváranie záloh. Môžete buď vyskúšať a použiť jednotlivé nastavenia príkazov, alebo použiť osvedčené kombinácie dostupných parametrov rsync. V nasledujúcich častiach sme zhrnuli päť populárnych spôsobov vykonávania záloh rsync.
Štandardná záloha s režimom archivácie
Režim archívu kopíruje všetky súbory zo zdrojového adresára do cieľového adresára vrátane všetkých podadresárov. Všetky oprávnenia, časové pečiatky a údaje o zariadení zostávajú zachované. V mnohých prípadoch je to ideálne a najjednoduchšie riešenie, pretože kombinuje rôzne možnosti v jednom parametri. Ak kombinujete tento režim s parametrom -v, počas procesu zálohovania získate aj komplexné informácie o stave.
rsync -av Source directory Target directorybashAko zdrojovú a cieľovú cestu je potrebné určiť príslušný zdrojový adresár a adresár, do ktorého má rsync uložiť záložnú kópiu.
Identická kópia zdrojového adresára
Rsync dokáže nielen prenášať súbory z bodu A do bodu B, ale dokáže tiež vytvárať identické kópie priečinkov alebo celých adresárov. Po štandardnej archivácii sa súbory, ktoré boli v cieľovom priečinku pred vykonaním zálohy rsync (ale nie sú v zdrojovom priečinku), odstránia.
rsync -av --delete Source directory Target directorybashrsync záloha s vylúčením súborov konkrétneho formátu
Ak chcete spustiť zálohovanie rsync s vylúčením súborov v určitom formáte, môžete na to použiť príkaz --exclude. Parameter vám umožňuje definovať individuálny znakový vzor, ktorý rsync používa ako indikátor na ignorovanie súboru. Nasledujúci ukážkový kód vylučuje súbory .txt.
rsync -av --exclude'*.txt' Source directory Target directorybashZálohovanie súborov s minimálnou alebo maximálnou veľkosťou
Ak namiesto konkrétneho znakového vzoru chcete, aby veľkosť súboru ovplyvňovala vylúčenie konkrétnych súborov v zálohe rsync, môžete použiť parametre --max-size a --min-size. Ak použijete nasledujúci príkaz, skopírujú sa len súbory s veľkosťou minimálne 10 MB a maximálne 100 MB:
rsync -av --min-size=10MB --max-size=100MB Source directory Target directorybashZálohovanie vrátane konverzie formátu znakov
Možno budete musieť previesť súbory do iného formátu znakov v cieľovom adresári. Ak chcete napríklad preniesť dáta z počítača Mac na server Linux, budete musieť zahrnúť prevod formátu znakov. Zariadenia Apple používajú štandardne UTF8-MAC, ktorý nie je k dispozícii v systémoch Linux a spôsobil by problémy so špeciálnymi znakmi. Možnosť --iconv vám umožňuje ľahko prispôsobiť kódovanie znakov ako súčasť procesu zálohovania rsync (v nižšie uvedenom príklade z UTF8-MAC na UTF8):
rsync -av --iconv=UTF8-MAC,UTF8 Source directory Target directorybashPrehľad najdôležitejších možností zálohovania rsync
Jednotlivé nastavenia pre zálohy rsync môžete definovať pomocou rôznych možností, ktoré môžu byť skrátené písmenom alebo napísané v plnom znení. V nasledujúcej tabuľke sú zhrnuté najdôležitejšie parametre, ktoré je možné podľa potreby kombinovať:
| Možnosť | Funkcia |
|---|---|
-r, --recursive
|
rsync backup zohľadňuje všetky podadresáre |
-u, --update
|
Pokyn na preskočenie súborov v cieľovom adresári, ktoré sú novšie ako súbory v zdrojovom adresári |
-c, --checksum
|
Rozlíšenie zdrojových a cieľových súborov na základe kontrolných súčtov |
-l, --links
|
Symbolické odkazy sa kopírujú ako také (a nie ako súbory) |
-p, --perms
|
Oprávnenia súborov zostávajú zachované |
-g, --group
|
Oprávnenia súborov skupiny zostávajú zachované. |
-t, --times
|
Časové značky súborov (posledná zmena) zostávajú zachované |
-o, --owner
|
Vlastníci súborov zostávajú zachovaní (len v prípade správcov) |
-D, --devices
|
Údaje o zariadení zostávajú zachované |
-z, --compress
|
Automatická kompresia prenesených súborov |
--compress-level=NUM
|
Určuje úroveň kompresie; možné sú hodnoty („NUM“) od 0 (bez kompresie) do 9 (maximálna kompresia) |
-v, --verbose
|
Podrobnejšie informácie počas procesov zálohovania |
-q, --quiet
|
Skryť všetky podrobnosti o procese zálohovania (okrem chybových správ) |
-a, --archive
|
Archívny režim používaný ako štandardný režim a identický s kombináciou možností — rlptgoD |
-n, --dry-run
|
Testovacie spustenie, pri ktorom sa nevykonávajú žiadne skutočné zmeny |
-h, --help
|
Pomocné menu (možno použiť len bez uvedenia zdrojového a cieľového adresára alebo iných argumentov) |
--bwlimit=KBPS
|
Obmedzenie šírky pásma (kilobajty za sekundu); napr. --bwlimit=30 (obmedzenie na 30 kbit/s)
|
--exclude=SAMPLE
|
Vylúčenie vzoru zo synchronizácie; napr. --exclude sample folder (zložka „sample folder” nie je synchronizovaná).
|
--delete
|
Odstrániť všetky súbory, ktoré sa nachádzajú v cieľovom adresári, ale nie v zdrojovom adresári. |
--progress
|
Zobraziť trvanie zálohovania rsync a rýchlosť prenosu. |
--list-only
|
Zobraziť zoznam súborov namiesto zálohy |
--stats
|
Komplexná správa o prenesených údajoch (počet, veľkosť) |
--max-size=SIZE
|
Definujte maximálnu veľkosť súboru, napr. --max-size=10MB (prenášajú sa len súbory s veľkosťou do 10 MB).
|
--ignore-errors
|
Zabráňte zrušeniu procesu zálohovania v prípade chyby |