Kako ustvariti varnostne kopije strežnika z rsync
Varnostne kopije morajo imeti pomembno vlogo pri načrtovanju vašega strežnika. Posamezne varnostne kopije lahko hitro nastavite in izvedete z brezplačnim orodjem za sinhronizacijo ali s protokolom rsync.
Kako nastaviti varnostne kopije z rsync na strežnikih Linux
Če želite uporabljati rsync v operacijskih sistemih Linux, namestite protokol iz istoimenskega paketa in varnostne kopije ustvarite s pomočjo ukazov v terminalu. V naslednjem poglavju bomo na primeru sistema Ubuntu prikazali najpomembnejše korake za nastavitev postopkov varnostnega kopiranja z uporabo rsync. Priložili smo tudi praktične primere.
Program rsync je v sistemu Ubuntu že privzeto nameščen. Če to ni tako, ga namestite z naslednjim ukazom:
sudo apt-get install rsyncbashČe je nameščen rsync, lahko z ukazom v terminalu določite izvorni in ciljni imenik ter možnosti varnostnega kopiranja. Kot izvorno in ciljno pot morata biti navedena ustrezni izvorni imenik ter imenik, v katerega naj rsync shrani varnostno kopijo. Standardni način („Arhiv“) se na primer izvede tako:
rsync -a source directory target directorybashS preskusnim zagonom -n preverite pravilnost vnesenih parametrov in imenikov. Nepravilni vnosi lahko v najslabšem primeru povzročijo izgubo podatkov. Če se nekatere datoteke ne kopirajo, kot bi se morale, je to pogosto posledica pomanjkanja dostopnih pravic. V tem primeru poskusite ukaz izvesti kot skrbnik, tako da pred njim dodate sudo.
Pet primerov uporabe varnostnega kopiranja z rsync
Ko se seznanite z osnovnimi ukazi, je rsync odlično orodje za kopiranje datotek in ustvarjanje varnostnih kopij. Poskusite lahko z različ nimi nastavitvami posameznih ukazov ali pa uporabite preizkušene kombinacije razpoložljivih parametrov rsync. V naslednjih poglavjih smo za vas povzeli pet priljubljenih načinov za izvajanje varnostnih kopij z rsync.
Standardno varnostno kopiranje z arhivskim načinom
Način arhiviranja kopira vse datoteke iz izvorne mape v ciljno mapo, vključno z vsemi podmapami. Ohranjene ostanejo vse pooblastila, časovni žigi in podatki o napravi. To je v mnogih primerih idealna in najpreprostejša rešitev, saj v enem samem parametru združuje različne možnosti. Če ta način kombinirate s parametrom -v, boste med postopkom varnostnega kopiranja prejeli tudi izčrpne informacije o stanju.
rsync -av Source directory Target directorybashKot izhodiščno in ciljno pot je treba navesti ustrezni izvorni imenik ter imenik, v katerega naj rsync shrani varnostno kopijo.
Natančna kopija izvorne mape
Program rsync ne omogoča le prenosa datotek iz A v B, ampak lahko ustvari tudi identične kopije map ali celotnih imenikov. Po standardnem arhiviranju se datoteke, ki so bile v ciljni mapi pred izvedbo varnostne kopije z rsync (vendar niso v izvorni mapi), izbrišejo.
rsync -av --delete Source directory Target directorybashVarnostno kopiranje z rsync brez datotek določenega formata
Če želite izvesti varnostno kopijo z rsync-om in pri tem izključiti datoteke v določenem formatu, lahko za to uporabite ukaz --exclude. Ta parameter vam omogoča, da določite vzorec znakov, ki ga rsync uporabi kot kazalec za prezrtje datoteke. V naslednjem primeru so izključene datoteke .txt.
rsync -av --exclude'*.txt' Source directory Target directorybashVarnostno kopiranje datotek z minimalno ali maksimalno velikostjo
Če namesto določenega vzorca znakov želite, da velikost datoteke vpliva na izključitev določenih datotek iz varnostne kopije rsync, lahko uporabite parametra --max-size in --min-size. Če uporabite naslednji ukaz, se kopirajo le datoteke, katerih velikost je med najmanj 10 MB in največ 100 MB:
rsync -av --min-size=10MB --max-size=100MB Source directory Target directorybashVarnostno kopiranje, vključno s pretvorbo oblike znakov
Morda boste morali datoteke v ciljnem imeniku pretvoriti v drug znakovni format. Če želite na primer prenesti podatke z računalnika Mac na strežnik Linux, boste morali vključiti pretvorbo znakovnega formata. Naprave Apple privzeto uporabljajo format UTF8-MAC, ki na sistemih Linux ni na voljo in bi povzročal težave s posebnimi znaki. Možnost --iconv vam omogoča enostavno prilagoditev kodiranja znakov kot del postopka varnostnega kopiranja rsync (v spodnjem primeru iz UTF8-MAC v UTF8):
rsync -av --iconv=UTF8-MAC,UTF8 Source directory Target directorybashPregled najpomembnejših možnosti varnostnega kopiranja z rsync
Posamezne nastavitve za varnostne kopije rsync lahko določite z različnimi možnostmi, ki jih lahko navedete s kratico ali v celoti. V spodnji tabeli so povzeti najpomembnejši parametri, ki jih lahko po potrebi med seboj kombinirate:
| Možnost | Funkcija |
|---|---|
-r, --recursive
|
Varnostna kopija rsync upošteva vse podmapke |
-u, --update
|
Navodilo, da se v ciljnem imeniku preskočijo datoteke, ki so novejše od tistih v izvorni mapi |
-c, --checksum
|
Razlikovanje med izvirnimi in ciljnimi datotekami na podlagi kontrolnih vsot |
-l, --links
|
Simbolične povezave se kopirajo kot take (in ne kot datoteke) |
-p, --perms
|
Dovoljenja za datoteke se ohranijo |
-g, --group
|
Dovoljenja za datoteke v skupini se ohranijo |
-t, --times
|
Časovni žigi datotek (zadnja sprememba) se ohranijo |
-o, --owner
|
Lastniki datotek se ohranijo (samo če so skrbniki) |
-D, --devices
|
Podatki o napravah se ohranijo |
-z, --compress
|
Samodejno stiskanje prenesenih datotek |
--compress-level=NUM
|
Določa stopnjo stiskanja; možne so vrednosti („NUM“) med 0 (brez stiskanja) in 9 (največje stiskanje) |
-v, --verbose
|
Podrobnejše informacije med postopki varnostnega kopiranja |
-q, --quiet
|
Skrij vse podrobnosti o postopku varnostnega kopiranja (razen sporočil o napakah) |
-a, --archive
|
Način arhiviranja se uporablja kot standardni način in je identičen kombinaciji možnosti — rlptgoD |
-n, --dry-run
|
Preskusni zagon, pri katerem se dejanske spremembe ne izvedejo |
-h, --help
|
Pomožni meni (se lahko uporablja le brez navedbe izvorne in ciljne mape ali drugih argumentov) |
--bwlimit=KBPS
|
Omejitev pasovne širine (kilobajtov na sekundo); npr. --bwlimit=30 (omejitev 30 kbit/s)
|
--exclude=SAMPLE
|
Izključi vzorec iz sinhronizacije; npr. --exclude sample folder (mapa »sample folder« se ne sinhronizira.)
|
--delete
|
Izbriši vse datoteke, ki so v ciljnem imeniku, vendar niso v izvorni mapi |
--progress
|
Prikaži trajanje varnostnih kopij rsync in hitrost prenosa |
--list-only
|
Prikaži seznam datotek namesto varnostne kopije |
--stats
|
Celovito poročilo o prenesenih podatkih (število, velikost) |
--max-size=SIZE
|
Določite največjo velikost datoteke; npr. --max-size=10MB (prenesene so le datoteke z velikostjo do 10 MB.)
|
--ignore-errors
|
Preprečite prekinitev postopka varnostnega kopiranja v primeru napake |