ubuntuusers.de

rsyncd Linux zu Windows

Status: Ungelöst | Ubuntu-Version: Kein Ubuntu
Antworten |

gafrage

Anmeldungsdatum:
30. September 2015

Beiträge: 6

Guten Tag ☺

Wer kennt sich hier mit rsync bzw. mit rsyncd (dem Deamon) aus? 😀

Ich habe folgendes Problem: Ich möchte mit Hilfe von rsyncd die Dateien in einem Verzeichnis unter Linux (Server) auf mein Windows XP (Client) [mit Cygwin] automatisch synchronisieren. Das heißt, sobald sich eine Datei in diesem Verzeichnis unter Linux ändert, soll die Kopie dieser Datei sich auch automatisch unter Windows ändern. Dies ist mit hilfe von rsync auch möglich! Der manuelle Weg (einmalig) nur mit rsync hat bei mir auch geklappt, allerdings will ich das ganze automatisiert haben. → rsyncd.

Ich probiere schon SEHR lange daran rum und habe schon zahlreiche Tutorials ausprobiert. Nur irgendwo hackt es am Ende.

Meine Vorgehensweise:

Beispiel: Linux-Server: 192.168.67.31 / Windows-Client: 192.168.67.69

Part I

    Cygwin installieren: http://cygwin.com/install.html (Dieses Programm eröffnet eine Linux-Shell auf dem Windows-Rechner)

    Bei der Installation fragt er nach Packages -> "Net" aussuchen und: rsync, bash, openssh aussuchen

Part II (Linux)

    nano /etc/rsyncd.conf

    Edit zu:

         lock file = /var/run/rsync.lock
         log file = /var/log/rsyncd.log
         pid file = /var/run/rsyncd.pid

transfer logging = true

log format = %h %o %f %l %b

[pub]     

comment = Public Share

path = /home/Quellverzeichnis

read only = no

list = yes

uid = nobody

gid = nogroup

secrets file = /etc/rsyncd.secrets

hosts allow = 192.168.67.69

 

    nano /etc/rsyncd.secrets
    Edit zu:
    # user: passwort
    root:root
    user:user
    nano /etc/xinetd.d/rsync
    Edit zu:
    service rsync
    {
        disable         = no
        socket_type     = stream
        port            = 873
        protocol        = tcp
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure  += USERID
    }
    service xinetd restart

    nano /etc/default/rsync

    Ändern zu:  RSYNC_ENABLE=true

    rsync --config=/etc/rsyncd.conf --daemon --no-detach  & (Braucht man das??)

     
    auf dem Windows-Client (Cygwin) HOLT sich die Daten vom Remote-Server (linux). mit dem Befehlt:

    rsync -zv rsync://root@192.168.67.31/pub/home/quelle /cygdrive/c/ziel

Dabei kommt bei mir der folgende Fehler raus:

rsync: change_dir "/home" (in pub) failed: No such file or directory (2)

Hier → var/log/rsyncd.log steht Folgendes:

2007/01/01 02:33:24 [2852] connect from Windows-PC (192.168.67.69)

2007/01/01 01:33:24 [2852] rsync on pub/home/quelle from Windows-PC (192.168.67.69)

2007/01/01 01:33:25 [2852] building file list

2007/01/01 01:33:25 [2852] rsync: change_dir "/home" (in pub) failed: No such file or directory (2)

Vielen Dank im Voraus!


Bearbeitet von XM-Franz:

Sinnfreie Formatierung mit "BBCode" gelöscht und Codeblöcke eingefügt. Bitte nutze die Formatierungsmöglichkeiten des Editors sowie die Vorschau, um Deine Beiträge übersichtlich und gut lesbar zu gestalten. Danke.


Moderiert von XM-Franz:

Thema in einen passenderen Forenbereich verschoben. Bitte beachte die als wichtig markierten Themen (Welche Themen gehören hier her und welche nicht?) in jedem Forenbereich. Danke.

Benno-007

Anmeldungsdatum:
28. August 2007

Beiträge: 29240

Wohnort: Germany

Willkommen!

Du kannst das ganze auch ohne Dämon, also ohne rsync:// usw. machen: Schau dir z.B. die Beispiele rsync#Gesamtes-System-mit-root-Rechten und rsync#Sicherung-von-lokalem-Rechner-auf-entfernten-Rechner an - aus beiden Fällen kannst du was für dich entnehmen. Das mit syncbenutzer und sudo-Konfiguration brauchst du für /home nicht unbedingt, aber eine ~/.ssh/authorized_keys.

Es kommt auch drauf an, in welche Richtung du syncen willst, also ob immer nur in die eine, wie in deinem Befehl. Und die Automatisierung kannst du dann im Linux unter Anacron eintragen! Falls du zu Win syncst (was du tust) und es das nicht kann (nehme ich an, da Hintergrunddienst), kannst du ja auch von Win aus zu Linux verbinden lassen und dann ebenfalls Sachen von Linux zu Win abholen (statt von Linux aus hinzuschieben).

Die Meldung

rsync: change_dir "/home" (in pub) failed: No such file or directory (2)

sollte dir zu denken geben, überprüfe das. Ist ja recht eindeutig.

Ausgaben hier bitte immer im Codeblock. Das ist sehr unübersichtlich mit den vielen Leerzeilen. Und in der Vorschau siehst du auch, dass wir hier andere Syntax für Dickdruck verwenden. Sollte dann aber mit Codeblock nicht mehr oft nötig sein.

Grüße, Benno

gafrage

(Themenstarter)

Anmeldungsdatum:
30. September 2015

Beiträge: 6

Vielen Dank für die Antwort. Ich habe das Problem bereits gelöst. Es gab 2 Fehler:

1.) Ich hatte mein Modul nicht als Verzeichnis angelegt (dachte, dass wäre einfach nur ein Name und man bräuchte kein extra Verzeichnis "pub" anzulegen) 2.) "rsync -vz" funktioniert auch nicht, man muss noch zusätzlich die Option "-a" auswählen –> "rsync -avz..." oder "rsync -avzu".

Danke trotzdem ☺

Antworten |