Rsync
Sissejuhatus
Rsync on vaba tarkvara unixi laadsetele süsteemidele mis sünkroniseerib faile ja kaustu ühest asukohast teise. Rsync töötab suhteliselt samamoodi kui käsk rcp, aga tal on rohkem võtmeid ning ta kasutab rsynci kaugvärskendamise protokolli, mis toob kohale vaid erinevused kahe komplekti failide vahel - seega kiirendab see märkimisväärselt üle võrgu toimuvat sünkroniseerimist.
Tarkvara ametlik koduleht asub aadressil http://rsync.samba.org/
Paigldamine
Rsync peaks kõigi kaasaegsete distributsioonide "standardvarustuses" olema. Kahtluste tekkimisel tasuks pakihalduri abiga kontrollida, kas rsync, xinetd ja ssh ikka paigaldatud on.
Ubuntu korral võiks see toimuda näiteks nii
apt-get install rsync xinetd ssh
Kasutamine
Lihtsaim moodus üle võrgu varukoopia tegemiseks on kasutada rsync 'i üle SSH (-e ssh võti). Alternatiiviks oleks rsync daemon 'i kasutamine (nõuab küll rohkem häälestamist ja konfiureerimist aga omab ka mõningaid eeliseid) Kohaliku varukoopia tegemine nõuab ainult rsync'i olemasolu ja lugemise/kirjutamise õiguseid sünkroniseeritavates kataloogides
Iseseisvana
Lihtsaim viis, lokaalse masina piires kahe kataloogi sünkroniseerimiseks, oleks selline:
rsync -a <lähtekataloog> <sihtkataloog>
-a või --archive võtme kasutamine kindlustab kuupäevade, õiguste, omanike ja linkide säilumise
Üle võrgu sünkroniseerimine toimub saranaselt:
rsync -a -e ssh <lähtekataloog> <kasutaja>@<serveri nimi või aadress>:<sihtkataloog>
-e ssh võti käsib rsync 'il kasutada SSH shell 'i.
Serveriga (rsyncd)
Varundusserverit luues oleks mõistlik seal kasutada rsync daemon 'it mis võimaldab parooliga ligipääsu lugemiseks/kirjutamiseks teatud kaustadele. Seadistusfailiks on /etc/rsyncd.conf Näidis:
max connections = 10 log file = /var/log/rsync.log timeout = 300 [share1] comment = <kausta või faile kirjeldav kommentaar või märkus> path = <failide asukoht> read only = no uid = nobody gid = nogroup auth users = user secrets file = /etc/rsyncd.secrets [share2] path = <failide asukoht> comment = <kausta või faile kirjeldav kommentaar või märkus> dont compress = *
Direktiiv dont compress lülitab määratud failitüüpide jaoks pakkimise välja (näiteks pilte ja videoid, mis on juba pakitud, pole mõtet hakata uuesti pakkima). Vaikimisi ei pakita *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz faile. Direktiiv secrets file näitab ära kasutajate ja paroolifailide asukoha. Direktiivi read only abil saame muuta selle kataloogi ainult loetavaks.
Olulisemad võtmed
- -a või --archive võtme kasutamine kindlustab kuupäevade, õiguste, omanike ja linkide säilumise
- -v või --verbose annabb kogu sünkroniseerimisprotsessi kohta põhjalikumat infot (nt. failide nimed, vms...)
- --progress näitab infot ülekande progressi kohta
- --stats näitab ülevaatlikumat statistikat kulunud ajast ja failide hulgast
- -z või --compress käsib rsync 'il kasutada zlib pakkimist
- -d või --delete kasutamisel kustutatakse mitte eksisteerivad failid eelnevast backupist
- --exclude "<faili kirjeldus>" abil saab vältida mingile kindla mustriga klappivate failide varundamise. Faili kirjeldamiseks võib kasutada nii laiendit kui ka mingit osa faili nimest
- -n nö. "eelvaate" režiim, kus rsync lihtsalt ütleb mida ta teeks ilma reaalselt faile üle kandmata
- -c käseb genereerida kõigi failide kontrollsummad. Tavajuhul rsync lihtsalt võrdleb faili loomise ja muutmise aegu, et selgitada välja kas see on muutunud või ei. Kuna selle võtme kasutamine võib rsync 'i muuta üsnagi aeglaseks, siis tasuks seda kasutada vaid tõsise vajaduse korral, näiteks kui on kahtlus, et failide sisu on kuidagi rikutud.
Kasutatud kirjandus
- http://kuutorvaja.eenet.ee/wiki/Rsync
- http://www.bsd.ee/handbook/mirrors-rsync.html
- https://help.ubuntu.com/community/rsync
Autor
- Martin Lehari
- A22