Hali!
Nézegetem az rsync-et, de nem tudom, hogy pontosan mit is csinál. Rendesen belekavarodtam.
Leírom, hogy mire keresek megoldást:
Egy emberkének van cucca pl. külföldön és Pesten is.
Mindkét helyen van szerver, ahonnan (LAN-on) gyorsan el tudná érni a dolgait, de a szerverek közötti kommunikáció (WAN) lassú.
Arra gondoltam, hogy a szerverek esténként szinkronizálhatnák a dolgait, amikor senki sem használja.
Mindkét helyen módosítgatja a dolgait és mindig máshol.
Meg lehet oldani az rsync-el ezt? Valahogy furcsa, hogy az rsync-nél csak egy irányban lehet dolgozni (source/target -et kell beállítani).
Remélem érthető voltam. :)
Valakinek valami ötlete?
Remélem nem nagy hülyeség a kérdés.
Az rsync-nek van kétirányú verziója is?
- 7684 megtekintés
Hozzászólások
A kérdés nem hülyeség, a válasz: nem. A kérdés utáni "magyarázkodás", na, az tényleg "hülyeség", mert az rsync tükrözésre való (anno engem is megzavart a neve), neked pedig szinkronizálni kéne. Ha nem tudod, mi a különbség, akkor gondolkozz el ezen a kérdésen (ami a szinkronizálás lényege): ha egy file csak az 1-es szerveren van rajta, akkor azt a 2-esre fel kell másolni vagy az 1-esről is törölni kell?
A problémádra megoldást adhat pl. a Novell-féle iFolder, bár még én sem vettem rá a fáradságot, hogy kipróbáljam...
- A hozzászóláshoz be kell jelentkezni
Kösz a segítséget, épp ez volt az, ami nem volt teljesen tiszta.
A kétirányban működő rsync -re a google-ban bukkantam rá. A http://lists.samba.org/archive/rsync/2002-October/003825.html oldalon.
Gondolom a szinkronizálás is összehasonlítások, másolások törlések, stb. sorozatából születik.Ha így van, akkor egy algoritmussal meg lehetne oldani.Nem?
- A hozzászóláshoz be kell jelentkezni
A június LV-ban van egy cikka a unison-ról lehet, hogy az a megoldás a problémádra.
- A hozzászóláshoz be kell jelentkezni
óóóó, tényleg! A szöveg elejét csak átfutottam, nem láttam a fától az erdőt! Megnézegetem az Unison-t. Kösz!
:)
- A hozzászóláshoz be kell jelentkezni
Én rsynckel oldottam meg és működik.
Van egy "server" gép (rsync szerver) és "client" gép (rsync kliens).
"server" gépen "shared" rsync megosztás (/mnt/shared).
"client" gépen /mnt/shared könyvtár.
"client" gépen az alábbi kétsoros script fut le:
rsync -azru /mnt/shared server::shared
rsync -azru server::shared /mnt/shared
Nálam így jó.
- A hozzászóláshoz be kell jelentkezni
Jobb, mint a semmi, de törölni nem lehet benne, csak akkor, ha mindkét helyről letörlöm az állományokat. :(
- A hozzászóláshoz be kell jelentkezni
de, --delete kapcsolo
- A hozzászóláshoz be kell jelentkezni
"server" fájllistája:
alma
barack
körte
"client" fájllistája:
banán
szilva
szőlő
Ha használod a --delete kapcsolót is a fent említett két sorban, vajh mi lesz az eredmény?
Ha nem jössz rá magadtól, próbáld ki éles adatokon, többet nem javasolsz ilyet :)
- A hozzászóláshoz be kell jelentkezni
"Ha használod a --delete kapcsolót is a fent említett két sorban, vajh mi lesz az eredmény?"
torli a serverrol a felesleget...
Amugy ertem mire gondolsz es 4 megoldast latok igy hirtelen:
--1--
Onnan indulunk ki, hogy az "egyik" helyen van az adat, a "masik" helyen semmi, hivjuk az "egyik"-et servernek, a "masik"-at clientnek es kossuk ki, hogy egyszerre mindig csak az egyik helyen dolgozik az adatokkal.
Amikor megerkezik a client helyre lefuttat egy ilyet:
rsync --delete server->client
ekkor a client hely naprakesz. Mikor vegzett, lefuttat egy ilyet:
rsync --delete client->server
ekkor a server naprakesz.
--2--
Ha maceras, h a munkamenet elejen ki kell varni egy esetleg hosszabb folyamatot, meg lehet oldani igy is:
Elso hasznalat elott, es mindig, mikor a server helyen vegzett a munkaval, (ott, a server helyen) futtat egy:
rsync --delete server->client
Client helyen vegzett a munkaval, (ott, a client helyen) futtat egy:
rsync --delete client->server
--3--
Unison
--4--
Valamilyen network filesystem.
- A hozzászóláshoz be kell jelentkezni
Hat en is keresek valami megoldast ket szerveren egy adott konyvtar szinkronban tartasahoz. Igaz nalam egyik helyen irjak/olvassak, masik helyen csak olvassak, de nalam az kell, hogy amit felirtak _egybol_ olvashato legyen a masikon. igy rsync nemjo...
drbd-t probaltam, de ott meg csak akkor tudta a masik olvasni, ha az elso "leszallt" rola. :(
--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
- A hozzászóláshoz be kell jelentkezni
Erre talaltak ki a CODA-t.
---------------------
Ригидус а бетегадьбол
- A hozzászóláshoz be kell jelentkezni
unison
en 4 eve hasznalom szinkronizalasra, windows/linux kozott is
tobbnyire ssh keresztul, de gyakran hasznalom usb drive-on source cippelesre is
amugy az unison is az rsync patchelest hasznalja
- A hozzászóláshoz be kell jelentkezni
Egy korábban lementett rendszer rootját húznám át "A" gépről "B" gépre. A lementett rendszer egy "C" gépről való.
A problémám az, hogy pl. /var/run/mysql uid:gid forrásgépben még 104, de "B" gépre áthúzva már 70.
Mivel "C" root szerkezét "A" gépről érem el (ott van lebackupolva), az uid:gid megfelelőjét "A" gépről veszi, ahol a 104-es uid avahi. Áthozza "B" gépre ott meg avahi 70-es uiddal fut, így rsync a fájl uidját 70-re írja át.
Többször belefutottam már ebbe a problémába.
Hogyan lehetne megmondani az rsyncnek, hogy ne írja át az user-group ID-t?
Amivel próbálkoztam:
rsync -va forrás cél # általában ezt használom
rsync -vazog # google dobta ki, de az eredmény változatlan
- A hozzászóláshoz be kell jelentkezni
Ez nem rsync probléma.
Átmásolás előtt:
*
/etc/init.d/mysqld stop
Átmásolás után:
chown -c -R mysql /var/lib/mysql
chgrp -c -R mysql /var/lib/mysql
/etc/init.d/mysqld start
*
Ha nem csak a mysql adatbázist másoltad, hanem a teljes rendszert, akkor a rendszer indítása után hajtsd végre a fent leírtakat, a két csillag közötti részt.
--
Tertilla; Tisztelem a botladozó embert és nem rokonszenvezem a tökéletessel! Hagyd már abba és kész!
- A hozzászóláshoz be kell jelentkezni
Mysql csak egy példa volt. Sajnos bármelyik fájlnál előjöhet ahol rsync egyezést talál a másolandó és a futó rendszer között. Userek, daemonok fájljainál is megvan ez a jelenség. Most nem tesztelem már le, de anno azt hiszem megnéztem, hogyha a másolandó fájl uid:gid-je nincs benne a futó rendszerben, tehát nem tudja valós UNIX usernévhez társítani, akkor nem bántja.
- A hozzászóláshoz be kell jelentkezni
> Hogyan lehetne megmondani az rsyncnek, hogy ne írja át az user-group ID-t?
használd a --no-o és --no-g kapcsolókat
- A hozzászóláshoz be kell jelentkezni
Az rsync --help szerint csak sima -o és -g
Idézet:
-o, --owner preserve owner (super-user only)
-g, --group preserve group
--
Tertilla; Tisztelem a botladozó embert és nem rokonszenvezem a tökéletessel! Hagyd már abba és kész!
- A hozzászóláshoz be kell jelentkezni
--numeric-ids don't map uid/gid values by user/group name
- A hozzászóláshoz be kell jelentkezni
Ez lesz az igazi!
:-{)E
--
Tertilla; Tisztelem a botladozó embert és nem rokonszenvezem a tökéletessel! Hagyd már abba és kész!
- A hozzászóláshoz be kell jelentkezni
Ezám, de miért nem láttam én ezt eddig, pedig a google-t és ezt a topikot felváltva zoomoltam:)
Na szépen megtaláltam órákkal később.
Tényleg ez a frankó megoldás!
Köszönet érte efpe ;)
- A hozzászóláshoz be kell jelentkezni
Nem értem, nálam nem akarja az igazságot.
rsync --no-o --no-g -va domain.hu:/mnt/forrás /mnt/cél/
Forrás helyen:
drwxr-xr-x 5 104 107 4096 2010-06-23 03:48 mysql
Cél helyen:
drwxr-xr-x 5 70 107 4096 jún 23 03.48 mysql
szerk: 2 irányból is próbáltam, tehát A-ról B-re, B-ről A-ra, de ugyanaz.
szerk2: elnézést, azt hittem updateli a jogokat, de nem. Le kell törölnöm célhelyen (példánál maradva) a mysql mappát.
Ekkor ez lesz:
drwxr-xr-x 5 0 0 4096 jún 23 03.48 mysql
Tehát át sem hozza az uid:gid -et. Sajnos szintén nem szerencsés megoldás.
szerk3:
A megoldás: rsync --numeric-ids -va
Melynek eredményeképp: drwxr-xr-x 5 104 107 4096 jún 23 03.48 mysql
Azért köszönöm a segítséget, hogy foglalkoztatok a problémámmal.
- A hozzászóláshoz be kell jelentkezni
miért használsz -a kapcsolót? az eleve definiál több másik kapcsolót, amelyek átviszik a jogosultságokat. -r kellene helyette imho.
szerk.: most látom hogy te fordítva akartad, vagyis hogy átvigye a jogosultságokat.
- A hozzászóláshoz be kell jelentkezni
subscribah'
- A hozzászóláshoz be kell jelentkezni
+1
---
> man woman
No manual entry for woman
- A hozzászóláshoz be kell jelentkezni