rsync im Netzwerkpfad und relative Pfade

OP #1514184
Lesenswert?

Hallo.
Ich habe folgendes Problem. Ich habe einen Ordner im Windows Netzwerk, 
den ich per rsync sichern möchte. Nun soll das ganze so gestaltet sein, 
dass JEDER, der Zugriff auf diesen Ordner hat, von diesem Ordner ein 
Backup auf ein Medium machen kann (USB-Stick, HDD etc.). Also habe ich 
ein kleines Programm gemacht, dass den rsync Befehl entsprechend 
zusammensetzt (ist ja etwas anders wegen /cygdrive etc). Dieses 
Programm, rsync sowie die cygwin dlls liegen im gleichen Ordner. Und 
dieser Rsync-Ordner ist ein Unterverzeichnis von dem Ordner der 
abgesichert werden soll.
Also um das etwas zu verdeutlichen, ich habe ein Netzwerkpfad, der 
gesichert werden soll: \\Storage\Daten\GemeinsameDaten\
In dem Ordner GemeinsameDaten liegt nun das Backup Tool:
\\Storage\Daten\GemeinsameDaten\Backup\rsync\
Nun wird mein kleines Programm direkt aus dem Netzwerkpfad aufgerufen 
und da ja der Inhalt von GemeinsameDaten gesichert werden soll lautet 
der Befehl:
1
rsync.exe -av --exclude=\"*/Backup/\" ../../ /cygdrive/D/
rsync spuckt darauf hin folgenden Fehler aus:
1
sending incremental file list
2
rsync: change_dir "/Storage/Daten/GemeinsameDaten/Backup/rsync/../.." failed: No such file or directory (2)
Tja und nun fällt mir gerade nichts ein, was da falsch läuft. Hat jemand 
eine Idee, wie ich das ohne absolute Adressierung hinbekomme?
Gast #1514209
Lesenswert?

Das kann m.E. so nicht gehen, denn die Verzeichnisangabe "../../" wird 
höchstwahrscheinlich auf den lokalen PC angewendet (also wo das Prog 
gestartet wird) und nicht auf den UNC-Pfad.
Du könntest dir mit einer Batchdatei behelfen, die zunächst die Freigabe 
mit einem Laufwerksbuchstaben verbindet, dann den Befehl ausführt und am 
Schluß die Verbindung wieder trennt:


net use n: \\Storage\daten /persistent:no
n:
cd GemeinsameDaten\Backup\rsync\
rsync.exe -av --exclude=\"*/Backup/\" ../../ /cygdrive/D/
c:
net use n: /delete

Anm.: Ich habe allerdings nicht geprüft, ob die Syntax deiner 
Befehlszeile stimmt.
OP #1514224
Lesenswert?

@Icke
>also wo das Prog gestartet wird) und nicht auf den UNC-Pfad.
Naja, das Prog wird ja auch dem Netzwerk gestartet, das sieht man ja 
auch daran, dass aus dem "../../" aus der Befehlszeile ein
1
rsync: change_dir "/Storage/Daten/GemeinsameDaten/Backup/rsync/../.." failed: No such file or directory (2)
wird.

Das mit dem Net Use schaue ich mir mal an, das könnte sogar klappen. 
Dann müsste ich zwar einen Umweg über ne Batch gehen, aber wenns nicht 
anders geht.

@Peter
Habe halt immer mit rsync gearbeitet. Das Robocopy schaue ich mir mal 
an.
Gast #1514229
Lesenswert?

>warum überhaupt der weg über cygwin und rsync?
>Unter Windows kann man doch auch robocopy nehmen.

Vielleicht weil robocopy ein closed source microsoft-produkt ist und 
rsync
open source GPL software ist.
Der Weg über cygwin ist hier ja auch nicht das Problem sondern der Pfad: 
Storage/Daten/GemeinsameDaten/Backup/rsync/...
C:\...\...\...\...\ sollte unter Windows so aussehen.
Gast #1514236
Lesenswert?

> Vielleicht weil robocopy ein closed source microsoft-produkt ist und
> rsync
> open source GPL software ist.
und was spielt das für eine Rolle wenn man schon untern einem closed 
source Windows mit einem closed source USB stick und einer closed source 
commandozeile arbeitert?

Dafür hat man den Vorteil das Rechte mit kopiert werden und auch alle 
Datumsattribute.
OP #1514311
Lesenswert?

Hallo, habs jetzt mit Robocopy getestet und es läuft wunderbar! Danke 
für den Tipp.

>Storage/Daten/GemeinsameDaten/Backup/rsync/...
>C:\...\...\...\...\
Nein Storage ist der Netzwerkpfad. Der sieht unter Windows so aus:
1
\\Storage\Daten\GemeinsameDaten\
Und wenn ich relativ adressiere dann wird 
/Storage/Daten/GemeinsameDaten/
dadraus. Scheinbar kommt rsync einfach mit Netzwerkpfaden nicht klar.

Aber Robocopy ist schon das was ich will. Da ich es nicht 
Plattformübergreifend mache, brauch ich rsync eigentlich nicht, das war 
halt nur das womit ich sonst immer gearbeitet habe.
Gast #1514316
Lesenswert?

>Dafür hat man den Vorteil das Rechte mit kopiert werden und auch alle
>Datumsattribute.

Das kann rsync auch.
Ansonsten ziehe ich generell open source der closed source vor. Und 
Windose hat mein Vertrauen schon lange verspielt. Bin übrigens 
Linux-Nutzer.
Gast #1514949
Lesenswert?

> C:\...\...\...\...\ sollte unter Windows so aussehen (sagte Herr Gates). Unter 
Unix /.../.../ merkt Ihr was ?

Wäre noch genauer zu prüfen wie laaaang die Namen sind. In Ungünstigen 
Fällen wird wieder klammheimlich irgendwo ein Limit erreicht oder ein 
exotisches Zeichen sorgt Abbruch. Viele Verschachtelte Ordner mit 
Straßennamen hätte ich da als abschreckendes praktisches Beispiel.

Deshalb ist es nie schädlich, hinterher Datenmenge auf Plausibilität zu 
prüfen und die letzte Datei zu suchen!!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren