rsync segítség

Fórumok

Sziasztok! Az alábbi lépéseket követve beüzemeltem az rsync-et a szerver gépen:

Make sure xinetd and rsync is available, if not type
# yum -y install rsync xinetd
Add xinetd service to system
# chkconfig --add xinetd
Make sure xinetd running on init 3 and 5
# chkconfig --list xinetd
Enable rsync
# vi /etc/xinetd.d/rsync
Change disable = yes into disable = no
Create username and password for rsync client to use
# vi /etc/rsyncd.secrets
adminname:hispassword
Create configuration and shares for rsync daemon
# vi /etc/rsyncd.conf
max connections = 2
log file = /var/log/rsync.log
timeout = 300

[shares]
comment = shared data stored here
path = /mnt/shared
read only = true # chg to true if you want read only
list = yes
uid = adminname
gid = adminname
auth users = adminname
secrets file = /etc/rsyncd.secrets
hosts allow = 10.0.0.244/24
Restart xinetd
# service xinetd restart
Make sure rsync now running
# chkconfig --list

Eddig minden rendben is ment. A kliens gépen is van rsync. Mindkét gépen van /mnt/shared/ mappa amit szeretnék tükrözni. Az lenne a lényeg, hogy a szerveren lévő mappa átkerüljön a kliensre, fordítva nem. Ha működik, akkor pedig a későbbiekben cron-ban 5 percenként lefutna a parancs ami átmásolja az adott könyvtár tartalmát. Ezt a parancsot kellene valahogy kitenyészteni. Segítségeteket előre is megköszönöm!

Hozzászólások

"Ezt a parancsot kellene valahogy kitenyészteni."
Kb: rsync -rav --rsh="ssh -C -l !USER! -i !PATH/TO/SSH-KULCS! -p !PORT!" "szerver:/mnt/shared" /mnt

Ha jó, akkor mehet/kell is a "--delete" opció.

De neki valamiért rsyncd van bereszelve, amikor is kb. ilyesmi kellene:

RSYNC_PASSWORD=pass
rsync -rav user@rsync://szerver/shares /mnt/

A könyvtárvégi perjeleket sose tudom, pedig megvan a logikája, de mindig elfelejtem.

bterv: azt tudnod kell, hogy általában nem az rsyncd-t használjuk, hanem ssh csatornán tolja át magát az rsync. Ennek több előnye is van, tömöríthet is meg titkosít is, és én még nem találtam okot rá, hogy ne így csináljam.

RTM, egyébként meg rsync -avuzb host:dir/ ide

Apróság, de NE cron-ból futtasd, vagy legalábbis ne direktben az rsync-et - ugyanis nem biztos, hogy jó lenne, ha egymásra futna két rsync, azaz egy script, ami az elején ellenőrzi, hogy van-e már lockfájl, majd ha nincs generál egyet (/var/lock/rsync_scriptem.lck) és elindítja a rsync-et, és ha kész, a script végén törli a fájlt. Ha az induláskor van lockfájl, akkor küld levelet, akármit, hogy a palacsinta nem oda való matériával van töltve :-P

A cron helyett egy aprócska scriptet lehet indítani inittabból respawn-nal. ez a script az rsync futtatása után sleep 300-zal vár, és kilép - az init meg gondoskodik róla, hogy újra fusson.

Nagyon szépen köszönöm mindenkinek a segítséget!
A véglegesen kitenyésztett parancs:

rsync -rav --rsh="ssh -C -l root -p 2222" /mnt/shared "10.0.0.244:/mnt/"

Ezt bele fogom írni akkor egy scriptbe és azt teszem majd bele a crontab-ba.

Ezer hála még1X! Köszi!

Sziasztok!

Rsync gondom akadt, kérdeznék tőletek.
Van egy szerverem, amin rsync szerver fut.
Van egy másik szerverem, amin rsync klienssel csatlakozok.
A cél az lenne, hogy a szerver oldali dolgokról legyen egy biztonsági másolat.
Minden szépen és jól működik.
Azt szeretném viszont, ha a szerver oldalon törlődik egy fájl - mert már nincs rá szükség - akkor a kliens oldalon is törlődjön.
Próbáltam a --delete kapcsolót, ekkor amikor indult a szinkronizálás, minden törlődött a kliens oldalon, aztán újra letöltött mindent. Hogyan kellene ezt megoldanom, hogy a fenti igény valósuljon meg?
Jelenleg most ez a kliens oldalon futtatott parancs:

/usr/bin/rsync -avz rsync://username@szerver.hu/backup/ /mnt/tmpbackup --delete --password-file=/root/rpaswd

Bár igazából nem próbáltam, de lehet, hogy egész egyszerűen az rsync úgy működik, ahogy nekem kellene? Azaz ha egy fájl törlődik a szerver oldalon, akkor azt automatikusan törli a kliens oldalról is?
Nagyméretű tgz fájlokról van szó, azért használnám az rsync-et, hogy ténylegesen csak a változások menjenek át.

Sziasztok!

Gondom akadt az rsync-kel, találtam hasonló gondot, de igazán megoldást nem.
Van egy távoli, interneten levő szerver, azon vannak egy könyvtárban *.tgz fájlok.
Nekimegyek rsync-kel, el is kezdi szedegetni őket, majd elhasal az alábbi üzenettel:

rsync: writefd_unbuffered failed to write 4 bytes [generator]: Connection reset by peer (104)
rsync error: error in rsync protocol data stream (code 12) at io.c(1509) [generator=3.0.5]
rsync error: received SIGUSR1 (code 19) at main.c(1286) [receiver=3.0.5]

A gépen, melyen az rsync-et indítom, 3.0.5-ös rsync verzió van.
A távoli szerveren 3.0.3-as.

Találkoztatok már ilyen gonddal?

Sziasztok!

2 gépen 1 irányú szinkronizációt szeretnék kialakítani. A cél gépen 1 héttel ezelőtti állapotban van az adott mappa.
Mivel az adatmennyiség hatalmas ezért csak a változásokat szeretném szinkronizálni. Nem sok változás volt egy hét alatt mégis nagyon sokáig fut és az egész adatállományt le akarja menteni. Verbose módban írja mindig h éppen mit másol, de csomó olyan van köztük ami már ott van.
Ez a parancs van a script-be építve:

rsync -vrp --delete --rsh="ssh -C -l $REMOTE_USER -p 22" $FORRAS $CEL

Ha az egyik gépen törlök valamit, az törlődik a másikról is a --delete miatt.
Az lenne a kérdésem, h miért nem csak a változásokat menti?

Köszi!