PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : rSync - Muss rSync immer beidseitig installiert sein?



Seiten : [1] 2

confusion
05.02.08, 16:51
Hi zusammen

Ich habe vorher noch kein Linux angesehen, wurde jetzt aber beauftragt einen Linux-Backup-Server mit rSync auszustatten.

Der Server soll sich jetzt mit einem CronJob jeweils die Daten auf einem anderen Linux-Fileserver Holen.

remote-Server:
# Aufgabe
* Fileserver
* Intranet
* VPN Gateway
# OS: Linux
# Dienste:
* SMB
* NMB
* HTTP
* VPN

Ich hatte jetzt nen Connection/Socket Error - als ich die Daten holen wollte.
Der eine IT-Häuptling hier, behauptete, dass man die Dateien ohne weiteres auf dem Fileserver holen kann, da er auch über putty, ganz einfach Dateien vom Remote-Server auf sein System kopieren kann.

Ich hab jetzt auf 2 Seiten gelesen, dass rSync auf beiden Seiten installiert sein muss.

MUSS rSync in MEINEM FALL auch auf beiden Seiten installiert sein?????


Vielen Dank für die Mühe!
grz, C

marce
05.02.08, 17:35
ja

*10Zeichen*

derRichard
05.02.08, 18:01
Ich habe vorher noch kein Linux angesehen, wurde jetzt aber beauftragt einen Linux-Backup-Server mit rSync auszustatten.

warum habe ich dabei ein schlechtes gefühl? ;)

//richard

confusion
06.02.08, 07:13
ey... keine sorgen, richard ;)
hab mich schon ganz gut in linux eingefunden und ich seh - das wird gut kommen.
Die Frage hier, stellte ich nur um nachzuhacken, ob die Aussage, die ich auf 2 Webseiten gelesen habe (en IT-Kollege aber wiederlegt hat), richtig ist.

also Richard - hast du auch noch Ahnung von rSync bzw.
MUSS rSync in MEINEM FALL auch auf beiden Seiten installiert sein????? :P

grz... C

fuffy
06.02.08, 07:57
Hi!


Der eine IT-Häuptling hier, behauptete, dass man die Dateien ohne weiteres auf dem Fileserver holen kann, da er auch über putty, ganz einfach Dateien vom Remote-Server auf sein System kopieren kann.
Natürlich kann man das. Aber nicht mit rsync. rsync überträgt nur Veränderungen und nicht sämtliche Dateien, die vorgefunden wurden. Das ist schließlich der Grund, rsync statt scp einzusetzen.


Ich hab jetzt auf 2 Seiten gelesen, dass rSync auf beiden Seiten installiert sein muss.
Wenn du rsync benutzen willst, muss rsync auf Quell- und Zielsystem installiert sein.


MUSS rSync in MEINEM FALL auch auf beiden Seiten installiert sein?????
Entweder auf beiden oder ganz auf rsync verzichten.

Gruß
fuffy

confusion
06.02.08, 08:19
ey leute - vielen dank für das feedback!
danke fuffy und marce.

albernenase
06.02.08, 08:21
Wenn Du rsync nicht auf dem 2. System installieren kannst, kann man das Problem zB mit sshfs umschiffen. Aber eine wirklich saubere Lösung ist das auch nicht. :)

drcux
06.02.08, 08:46
rsync kann ssh benutzen, es muss also nicht zwingend auf beiden Rechnern installiert werden:

rsync -e ssh user@rechner:/home /backup/blah/

http://www.linux-magazin.de/heft_abo/ausgaben/2005/05/sicherer_hafen

marce
06.02.08, 08:54
auch dann muss rsync auf beiden Rechnern installiert sein:

[root@vmware-1 ~]# mkdir tmp
[root@vmware-1 ~]# cd tmp/
[root@vmware-1 tmp]# rsync -e ssh root@10.160.10.7:/root .
Password:
bash: rsync: command not found
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
rsync error: remote command not found (code 127) at io.c(463) [receiver=2.6.8]
[root@vmware-1 tmp]# ssh 10.160.10.7
Password:
Last login: Wed Jan 30 10:24:54 2008 from 10.160.11.1
[root@linux7 ~]# pacman -S rsync
Löse Abhängigkeiten auf...
Suche nach Zwischen-Konflikten...

Pakete: rsync-2.6.9-4

Gesamtgröße der heruntergeladenen Pakete: 0,20 MB

Installation fortsetzen? [J/n]
:: Empfange Pakete von extra...
rsync-2.6.9-4-i686 203,8K 344,6K/s 00:00:01 [################################################## #######] 100%
Prüfe Paketintegrität...
(1/1) Pruefe auf Dateikonflikte [################################################## #######] 100%
(1/1) Installiere rsync [################################################## #######] 100%
[root@linux7 ~]# exit
logout
Connection to 10.160.10.7 closed.
[root@vmware-1 tmp]# rsync -e ssh root@10.160.10.7:/root .
Password:
skipping directory /root
[root@vmware-1 tmp]#


mit ohne rsync auf dem anderen System gehts nicht, mit rsync läuft es durch...

confusion
06.02.08, 09:06
ay! danke für die coolen erkenntnisse und tests von euch. :)

noch ne andere dummie-frage.
muss ich das system neustarten, nach dem installieren von rSync?

weiss nicht mehr wie es war, als ich's auf meinem Suse installiert habe.

marce
06.02.08, 09:08
nein.

*10Zeichen*

confusion
06.02.08, 09:21
Wenn Du rsync nicht auf dem 2. System installieren kannst, kann man das Problem zB mit sshfs umschiffen. Aber eine wirklich saubere Lösung ist das auch nicht. :)

ey albernenase, hab den artikel gelesen. vielen dank.

aber ich muss von nem server aus dateien auf anderen servern/clients holen.
meinst du, das geht dann ohne, dass dort rSync drauf ist?

marce hat ja grad das gegenteil bewiesen, wenn ich das da richtig verstanden habe, in seinem console-auszug.

marce
06.02.08, 09:25
Wenn Du das Filesystem des anderen Servers mountest dann ist es aus der Sicht des Backupservers lokal - also läuft auch rsync lokal und muss daher auf dem anderen System nicht installiert sein (Die Geschwindigkeit dürfte dann allerdings unterirdisch sein :-)

Vereinfacht könnte man sagen: auf jedem im rsync-Befehl enthaltenen Host muss rsync installiert sein.

fuffy
06.02.08, 10:54
Wenn Du rsync nicht auf dem 2. System installieren kannst, kann man das Problem zB mit sshfs umschiffen. Aber eine wirklich saubere Lösung ist das auch nicht. :)
Wozu dann überhaupt noch rsync einsetzen, wenn man sämtliche Vorteile über Bord wirft?

rsync is an open source utility that provides fast incremental file transfer.



rsync kann ssh benutzen, es muss also nicht zwingend auf beiden Rechnern installiert werden:
Der Unterschied zwischen ":" und "::" ist nur der, dass bei "::" rsync jederzeit über einen TCP-Port erreichbar sein muss (rsyncd.conf kommt da zum Einsatz) und bei ":" rsync auf dem Fremdsystem live im Daemon-Modus gestartet und via ssh getunnelt wird.

Gruß
fuffy

derRichard
06.02.08, 10:57
Wozu dann überhaupt noch rsync einsetzen, wenn man sämtliche Vorteile über Bord wirft?


weil sshfs alles andere als zuverlässig ist...

//richard

fuffy
06.02.08, 10:59
weil sshfs alles andere als zuverlässig ist...
Und wenn man rsync über sshfs einsetzt, weil man auf dem Fremdsystem kein rsync installieren will, ist das zuverlässig?

Gruß
fuffy

derRichard
06.02.08, 11:09
hallo!

also ich würde es nicht machen.
kann sein, dass sshfs inzwischen besser ist.
zuletzt hab ich damit etwas vor 2jahren gemacht und bei großen verzeichnissen ist es regelmäßig abgeschmiert.

//richard

marce
06.02.08, 11:15
Stabil oder nicht - der Vorteil von rsync ist damit dahin bzw. wird sogar umgekehrt.

Die md5-Summen-Berechnung um Dateien zu vergleichen (so man sie verwendet) läuft ja dann auf dem Server selbst ab und er muss dazu ja die Datei vom anderen System herunterladen, die md5-Summe berechnen und dann, falls unterschiedlich, nochmals den Transfer der Differenzen anstossen. Wenn das mal kein gutes Beispiel für das Wort "Overhead" ist...

fuffy
06.02.08, 12:44
Stabil oder nicht - der Vorteil von rsync ist damit dahin bzw. wird sogar umgekehrt.
Eben. Deshalb ergibt ein rsync über sshfs in meinen Augen überhaupt keinen Sinn.

Gruß
fuffy

echo
06.02.08, 14:22
auch dann muss rsync auf beiden Rechnern installiert sein:

[root@vmware-1 ~]# mkdir tmp
[root@vmware-1 ~]# cd tmp/
[root@vmware-1 tmp]# rsync -e ssh root@10.160.10.7:/root .
Password:
bash: rsync: command not found
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
rsync error: remote command not found (code 127) at io.c(463) [receiver=2.6.8]
[root@vmware-1 tmp]# ssh 10.160.10.7
Password:
Last login: Wed Jan 30 10:24:54 2008 from 10.160.11.1
[root@linux7 ~]# pacman -S rsync
Löse Abhängigkeiten auf...
Suche nach Zwischen-Konflikten...

Pakete: rsync-2.6.9-4

Gesamtgröße der heruntergeladenen Pakete: 0,20 MB

Installation fortsetzen? [J/n]
:: Empfange Pakete von extra...
rsync-2.6.9-4-i686 203,8K 344,6K/s 00:00:01 [################################################## #######] 100%
Prüfe Paketintegrität...
(1/1) Pruefe auf Dateikonflikte [################################################## #######] 100%
(1/1) Installiere rsync [################################################## #######] 100%
[root@linux7 ~]# exit
logout
Connection to 10.160.10.7 closed.
[root@vmware-1 tmp]# rsync -e ssh root@10.160.10.7:/root .
Password:
skipping directory /root
[root@vmware-1 tmp]#


mit ohne rsync auf dem anderen System gehts nicht, mit rsync läuft es durch...

rsync muss in diesem falle nicht auf beiden server druff sein, sondern nur auf dem wo du rsync auch ausführst! (die frage hier: WER holt die daten)
solltest du rsync auf beiden server ausführen wollen (weil jeder was anderes synct), dann brauchste es auf beiden servern.

marce
06.02.08, 14:27
warum tut's dann ohne rsync auf dem System, wo die Daten abgeholt werden, nicht?

das lokale rsync connectet sich per ssh auf den anderen Rechner und startet das dortige rsync als "client".

fuffy
06.02.08, 14:27
rsync muss in diesem falle nicht auf beiden server druff sein
Doch!
Der Befehl "rsync -e ssh root@10.160.10.7:/root ." sorgt dafür, dass das lokal ausgeführte rsync via ssh auf dem Rechner mit der IP-Adresse 10.160.10.7 "rsync --daemon ..." ausführt. Du kannst gerne mal einen längeren Sync durchführen und dir währenddessen auf dem "Remote-Server" die Prozessliste anschauen.

Wie soll das denn sonst gehen, dass der andere Rechner rsync-konforme Prüfsummen bestimmt und Daten für den inkrementellen Abgleich liefert? Dafür muss da ein passendes Stück Software installiert sein. ;)

Gruß
fuffy

marce
06.02.08, 14:28
@fuffy: Ätsch, schneller :-)

(wobei Du mehr zu tippen hattest :-)

echo
06.02.08, 14:36
Du kannst gerne mal einen längeren Sync durchführen und dir währenddessen auf dem "Remote-Server" die Prozessliste anschauen.


dein einwand kling einleuchtend und ich werds mal prüfen :o)

albernenase
06.02.08, 19:05
Eben. Deshalb ergibt ein rsync über sshfs in meinen Augen überhaupt keinen Sinn.

Gruß
fuffy

Deswegen ja auch meine Anmerkung, dass es bessere Lösungen gibt. :)

Hätte ja sein können, dass er keine Root-Rechte auf einem der beiden Rechner besitzt und trotzdem unbedingt warum auch immer rsync benutzen muss/will. sshfs war natürlich auch nur eine Möglichkeit unter vielen. Hat natürlich den Vorteil, dass man auf dem anderen Rechner nur nen offenen ssh-Port brauch und keine Root-Rechte.

Meine Anmerkung war eher so zu verstehen, dass es Möglichkeiten gibt, und zwar viele...und es war ne kleine Werbung für sshfs. ;)

Aber nebenbei benutze ich seit ca. 6 Monaten statt sshmount sshfs und es ist wirklich sehr stabil, auch bei sehr großen Dateien/Verzeichnissen.

fuffy
06.02.08, 19:46
Hat natürlich den Vorteil, dass man auf dem anderen Rechner nur nen offenen ssh-Port brauch und keine Root-Rechte.
Brauchst du für rsync auch nicht. ;)

Gruß
fuffy

albernenase
07.02.08, 08:18
Brauchst du für rsync auch nicht. ;)

Gruß
fuffy

Als ich die Antwort geschrieben habe, hab ich irgendwie geahnt, dass diese Anmerkung kommt. :)

confusion
08.02.08, 08:18
vielen dank erst mal, dass ihr euch so Mühe gebt.
Ich als neuling krieg langsam wirklich nen guten Durchblick.

Habe rSync auf beiden seiten v2.6.9. installiert.

Jetzt funktioniert das ganze nicht
- Ich kann den daemon auf dem client (wo die Daten geholt werden sollten) nicht starten.
"rsync --daemon" - dann springt er eine Zeile weiter und wenn ich in den momentan ausgeführten diensten (ps -e) nachsehe, ist der rsync daemon nicht aufgeführt.
- Von ausserhalb kann ich auch nicht drauf zugreifen - und der rSync wird, wird auch so nicht gestartet - obwohl ich mich mit dem root anmelde.

Habt ihr ne Ahnung, was da das Problem sein könnte?

@echo:


prag:/temp2 # rsync -e ssh root@ip:/var/pfad .
Password:
bash: line 1: rsync: command not found
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
rsync error: remote command not found (code 127) at io.c(453) [receiver=2.6.9]


diesen fehler kriege ich auch, wenn ich nicht mit der ssh-methode von echo versuche die Daten zu holen.

grz, C

marce
08.02.08, 08:29
Wie hast Du rsync installiert? Ist es auch im $PATH enthalten?

confusion
08.02.08, 08:33
Wie hast Du rsync installiert? Ist es auch im $PATH enthalten?

Ich hab's wie im file INSTALL beschrieben mit folgenden steps gemacht.


To build and install rsync:

$ ./configure
$ make
# make install

You may set the installation directory and other parameters by options
to ./configure. To see them, use:

$ ./configure --help


habe genau das gemacht und auch nicht mehr... bei meiner server machine, mit der ich die Daten hole, wurde dann die Installation in das Verzeichnis gemacht, wo die Installationsdateien drin war (also unter anderem die configure datei).
meine leute hier meinten, dass das nicht so wichtig sein, dass da alles schön geordnet ist, weil rSync so ziemlich das einzige ist, was da drauf laufen muss.

€dit:
wenn ich den befehl "rsync" auf der machine aufrufe kommt die ganze Hilfe-Anzeige - was eigentlich implizieren sollte, dass linux rSync findet, oder?