rsync használata

Ha két gép között szeretnénk fájlokat szinkronizálni vagy biztonsági

mentéseket készíteni, akkor az rsync programot érdemes használnunk.

Én a laptop és az asztali gép szinkronizálására használom.

Először is telepítsük fel mindkét gépre az rsync programot.

A program hasonlóan használható, mint az rcp ill. scp. Lássunk néhány

példát:

rsync *.c tavoligep:progz

A fenti példa az aktuális könyvtárban levő .c fájlokat másolja át a

tavoligep gépre. Ha a távoli gépen már léteznek ezek a .c

fájlok, akkor az rsync protokoll szerint csak a fájlok közötti különbséget

másolja át program.

rsync -avz tavoligep:src/proba /tmp

Ha a fenti parancsot kiadjuk, akkor arhív (-a) módban másolja a

fájlokat az rsync. Ez azt jelenti, hogy az eszközök, a szimbolikus linkek, az

attribútumok és tulajdonosok megmaradnak a másolás során. A -v

kapcsolóval bőbeszédűvé tehetjük az rsync, míg a -z hatására

tömörítve küldi ill. fogadja az adatokat.

rsync -avz tavoligep:src/proba/ /tmp

A könyvtár után írt / jel hatására a célkönyvtárban nem készül el a

proba könyvtár. A következő két parancs ugyanúgy működik:

rsync -avz /src/foo /destrsync -avz /src/foo/ /dest/foo

A transzfereket érdemes kódolt csatornákon végezni. Erre szolgál a

-rsh (röviden -e) kapcsoló. Használata:

rsync -av --rsh="ssh -l ssh-user" rsync-user@host::module[/path] local-path

A -b kapcsolót biztonsági mentések készítésére használhatjuk

(felülíráskor \~ végű fájl keletkezik),

a -u-val pedig csak a régebbi fájlokat fogja felülírni az rsync.

Ha a --exclude-t használjuk, nem fogja a megadott fájlokat másolgatni.

És végül a következő paranccsokkal szinkronizálom a könyvtárakat

az asztali gép és a notebook között:

rsync -e ssh -avuz --exclude '*~' --progress ~/Docs/ triton:~/Docsrsync -e ssh -avuz --exclude '*~' --progress triton:~/Docs/ ~/Docs

A -P kapcsoló hatása egyezik a --partial --progress kapcsolóval. Ennek hatására a részben letöltött fájlokat nem törli az rsync és másolás közben látjuk a folyamat paramétereit.

Oldalak