Erinevus lehekülje "Rsync" redaktsioonide vahel
(→Parooliga sync kasutades ssh kopeerimist) |
|||
5. rida: | 5. rida: | ||
veebisait | veebisait | ||
http://rsync.samba.org/ | http://rsync.samba.org/ | ||
− | |||
Lihtne näide rsync kasutamisest | Lihtne näide rsync kasutamisest | ||
18. rida: | 17. rida: | ||
Sellise näite järgi on kõige lihtsam failide sünkroniseerimine. Toimib see samuti üle ssh ning on koormust tekitav viis. | Sellise näite järgi on kõige lihtsam failide sünkroniseerimine. Toimib see samuti üle ssh ning on koormust tekitav viis. | ||
− | |||
===rsync deemonina=== | ===rsync deemonina=== | ||
27. rida: | 25. rida: | ||
/etc/rsyncd.conf freebsdl /usr/local/etc/rsyncd.conf | /etc/rsyncd.conf freebsdl /usr/local/etc/rsyncd.conf | ||
− | |||
− | |||
uid = root | uid = root | ||
46. rida: | 42. rida: | ||
FreeBSD's tuleb rida gid = root asendada reaga gid = wheel | FreeBSD's tuleb rida gid = root asendada reaga gid = wheel | ||
− | |||
sellega tekitasime seadistuse kus on kaks jaotist | sellega tekitasime seadistuse kus on kaks jaotist | ||
79. rida: | 74. rida: | ||
rsync -a kaust root@host::failid | rsync -a kaust root@host::failid | ||
− | |||
üleslaetud failide nimistut saab | üleslaetud failide nimistut saab | ||
96. rida: | 90. rida: | ||
auth users = kasutaja | auth users = kasutaja | ||
secrets file = /etc/rsyncd.pass | secrets file = /etc/rsyncd.pass | ||
− | |||
tekitame faili /etc/rsyncd.pass | tekitame faili /etc/rsyncd.pass | ||
104. rida: | 97. rida: | ||
kasutaja:kasutaja | kasutaja:kasutaja | ||
− | |||
käsk paroolifailiga sünkroniseerimiseks ,et saada kaust /etc varundatud võiks olla siis näiteks | käsk paroolifailiga sünkroniseerimiseks ,et saada kaust /etc varundatud võiks olla siis näiteks | ||
rsync --password-file /etc/rsyncd.pass -a /etc kasutaja@192.168.1.10::backup | rsync --password-file /etc/rsyncd.pass -a /etc kasutaja@192.168.1.10::backup | ||
− | |||
Soovides limiteerida aeglasema kiirusega kohtades rsync kiirust tuleks kasutada rsync omadust --bwlimit=KBPS | Soovides limiteerida aeglasema kiirusega kohtades rsync kiirust tuleks kasutada rsync omadust --bwlimit=KBPS | ||
153. rida: | 144. rida: | ||
suuruseks on vaid muutunud failide summa. Nii on võimalik teha paarkümmend full backupi | suuruseks on vaid muutunud failide summa. Nii on võimalik teha paarkümmend full backupi | ||
kuid nende mahuks jääb kokkuvõtteks 1-2 maht. | kuid nende mahuks jääb kokkuvõtteks 1-2 maht. | ||
− | |||
Käsu süntaksiks on: | Käsu süntaksiks on: |
Redaktsioon: 2. veebruar 2009, kell 12:18
Sisukord
Sissejuhatus
Rsync on vaba tarkvara unixi laadsetele süsteemidele mis sünkroniseerib faile ja kaustu ühest asukohast teise. Kasutades kodeerimist vähendades infomahte.
veebisait http://rsync.samba.org/
Lihtne näide rsync kasutamisest
sünkroniseerime faili lokaalsest masinast teise nimega host.ee
rsync fail kasutaja@host.ee:
sünkroniseerime kausta lokaalsest masinast ümber
rsync -a kaust kasutaja@host.ee:
Sellise näite järgi on kõige lihtsam failide sünkroniseerimine. Toimib see samuti üle ssh ning on koormust tekitav viis.
rsync deemonina
Vajalik näiteks varundusserverile. Rsync deemon kuulab pidevalt ja võimaldab parooliga ligipääsu lugemiseks/kirjutamiseks teatud kaustadele
/etc/rsyncd.conf freebsdl /usr/local/etc/rsyncd.conf
uid = root gid = root use chroot = no max connections = 25 log file=/var/log/rsyncd.log [failid] path = /kus/failid/on comment = failid [pildid] path = /kus/pildid/on comment = failid dont compress = *
FreeBSD's tuleb rida gid = root asendada reaga gid = wheel
sellega tekitasime seadistuse kus on kaks jaotist failid ja pildid. Piltidele ütleme dont compress = * kuna piltide pakkimine annab vähe eelist sama võib teha ka videote kaustadega.
vaikimisi juba ei teha seda failidele laiendiga *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz
Logimist võib korraldada ka läbi syslogi'i kasutades rida
syslog facility = local5
täpsemalt on seletatud asja logimise palas lahti http://kuutorvaja.eenet.ee/wiki/Logi. Võimalik seada local0 kuni locan7ni
tulemüür
rsync töötades deemonina kasutab porti tcp 873
linux iptablesis saame müüri teha pordi lahti käsuga
iptables -I INPUT -p tcp -s ip_192.168.1.10 --dport 873 -j ACCEPT
FreeBSD packet filteris
pass in on $ext_if proto tcp from { 192.168.1.10 } to port 873
Muidugi võib seadistusfaili kirjutada kohe
hosts allow = *.host.ee hosts deny = *
nüüd võime anda käsu
rsync -a kaust root@host::failid
üleslaetud failide nimistut saab
rsync -v --list-only -a root@host.ee::pildid
kui pole öeldud muidugi list = false
kasutajad - paroolid
Soovides lubada varundamisele kliente ligi vaid parooliga tuleks share teha selliselt
[failid] path = /kus/failid/on comment = failid auth users = kasutaja secrets file = /etc/rsyncd.pass
tekitame faili /etc/rsyncd.pass paroolid hoitakse selles plaintextina. Tuleks jälgida ,et fail poleks world readable milleüle hakkaks rsync kurtma faili võime kirjutada näiteks
kasutaja:kasutaja
käsk paroolifailiga sünkroniseerimiseks ,et saada kaust /etc varundatud võiks olla siis näiteks
rsync --password-file /etc/rsyncd.pass -a /etc kasutaja@192.168.1.10::backup
Soovides limiteerida aeglasema kiirusega kohtades rsync kiirust tuleks kasutada rsync omadust --bwlimit=KBPS
Paroolita rsync kasutades ssh kopeerimist
Paroolifaili etteandmine ilma rsync serverit kasutamata ei toimi, sellisel juhul tuleks toimida järgnevalt
Genereerime privaatse ja avaliku võtme, kui parooli ei soovi vajutame lihtsalt enteri
# ssh-keygen -t rsa -b 4096 -f rsync-key
Generating public/private rsa key pair. rsync-key already exists. Overwrite (y/n)? y Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in rsync-key. Your public key has been saved in rsync-key.pub. The key fingerprint is: e8:c7:f2:f1:da:2a:0f:a4:4f:63:89:9f:3e:9d:b9:87 root@loomaaed.zoo.ee
Kopeerime rsync.key.pub sisu sihtkoht masina faili authorized_keys
/root/.ssh/authorized_keys
Testime
ssh -i rsync-key root@192.168.1.10
ja rsync käsk näeb välja järgnev, ette tuleb anda rsync privaatne võti
rsync -av --delete -e "ssh -i /home/kasutaja/rsync-key" /srv/kauyst root@192.168.1.10:/srv/
Soovituslik oleks üldiselt kasutada sellistel juhtudel juba rsync serverit.
Snapshot stiilis backup
Rsync omab võtit --link-dest mis võimaldab full backupide tegemisel hoida kokku ruumi. Nimelt võtab rsync siis näiteks eelmise päeva backupi aluseks ja loob jooksva päeva backup kausta hardlingid failidest mis on juba olemas ning syncib ainult muutunud failid. Nii on kaustas full backup kuid selle suuruseks on vaid muutunud failide summa. Nii on võimalik teha paarkümmend full backupi kuid nende mahuks jääb kokkuvõtteks 1-2 maht.
Käsu süntaksiks on:
rsync -av --link-dest=$PWD/prior_dir host:src_dir/ new_dir/
Näiteks
rsync -avH --link-dest=/backup/eile /root/kaust_mida_varundame /backup/tänane_backup
Anname rsyncile ette eilse backupi kausta, siis kausta mida soovime varundada ja kausta kuhu varundada.
Töö lihtsustamiseks võib luua skripti
#!/bin/sh t2na=`date "+%Y%m%d"` eile=`date -v-1d "+%Y%m%d"` mkdir /backup/$t2na rsync -avH --link-dest=/backup/$eile /root/kaust_mida_varundame /backup/$t2na
Loomulikult ei või aga kustutada ühtegi backup kausta kuna sellisel juhul lähevad hardlingid failide vahel katki.