PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : rsync funktioniert bei mir nicht



bw_compu_ware
01.03.05, 08:27
Hallo,

ich habe folgendes Problem:

ich möchte einen Ordner von einem Server mit meinem Laptop synchronisieren/synchron halten.
ich habe durch google das Prog/den Befehl rsync gefunden und habe versucht dies zu benutzen. ich habe mich strickt an die Anleitung gehalten und es funktioniert bei mir einfach nicht.

hier mein Befehl:
rsync -av root@192.168.1.100::handbooks ./Handbuecher

mit folgendem Ergebnis:
receiving file list ... done
rsync: chown "/windows/x/Handbuecher/." failed: Operation not permitted (1)
rsync: chown "/windows/x/Handbuecher/Betriebssysteme" failed: Operation not permitted (1)
...

das Laufwerk ist mit FAT formatiert und ich habe bisher noch keine Probleme damit gehabt.

Danke schon im Vorraus

Benjamin

Blade
01.03.05, 09:09
Also, Du hast da einen Doppelpunkt zu viel drin, das kann nicht sein. Schau Dir mal diese Zeile an und teste sie:

rsync -avz root@192.168.1.100:/handbooks ./Handbuecher

Ich denke Du musst Pfad und Ziel nochmals überprüfen und korrigieren, insbesondere die Angabe ./Handbuecher (kommt mir komisch vor)? Gib die Pfade immer als vollen Pfad ab dem root-Verzeichnis an. Natürlich muss der User root auch Zugriffsrechte auf das Verzeichnis besitzen.

Die Befehlszeile lautet allgemein gesprochen so:
rsync -avz rsync://<Host>:<Pfad> <Ziel>
(den Befehl ... rsync:// ... kannst Du auch weg lassen.)

bw_compu_ware
01.03.05, 10:13
Hallo,


Also, Du hast da einen Doppelpunkt zu viel drin, das kann nicht sein. Schau Dir mal diese Zeile an und teste sie:

rsync -avz root@192.168.1.100:/handbooks ./Handbuecher

Ich habe auf dem Server einen rsync-Server laufen.
Ich habe in der /etc/rsyncd.conf handbooks als 'Freigabe' (oder wie auch immer man das nennt) eingetragen.

dann sieht die Syntax nämlich so aus:

rsync -avz [USER]@[HOST]::[FREIGABE] [ZIEL]

nur die Möglichkeit ohen den rsync-Server (oder für ein nicht eingetragenes Verzeichnis) ist so:

rsync -avz [USER]@[HOST]:[QUELLPFAD_AB_ROOT] [ZIEL]


Ich habe inzwischen duch Zufall entdeckt, dass wenn das Zielverzeichnis mit EXT3 formatiert ist, alles ohne Probleme funktioniert und er wunderbar synchronisiert. Muss ich ein anderes Prog nehmen, wenn mein Ziellaufwerk mit FAT formatiert ist, oder gibt es da vielleicht eine Option oder Einstellung, die ich vornehmen muss?


Benjamin

Blade
01.03.05, 11:07
Okay, das hatte ich Deinem Posting nicht entnommen, dass Du rsync als Daemon laufen hast. Ich war im Glauben, dass Du den Befehl rsync an der Konsole absetzt oder per Cronjob. :o

Wegen der EXT3/FAT-Frage muss ich die Flügel strecken ... sorry.

tictactux
01.03.05, 12:56
Hallo,

FAT/FAT32 kann keine Unix-Permissions verwalten. Deswegen darfst Du bei
rsync "-a" (oder andere vergleichbare Schalter nicht benutzen).

Ich habe rsync noch nicht mit FAT-Dateisystem benutzt, würde Dir aber
empfehlen den BUGS-Abschnitt der man-page zu lesen (--modify-window)
und evtl. --size-only zu verwenden.

Ich hab gelesen, unison sei für Abgleich mit FAT besser geeignet.
Vielleicht checkst Du das (auch als gtk-Version, sowie als Windows-Version
verfügbar).

Gruß,
Wolfgang

bw_compu_ware
01.03.05, 14:02
hab einige Fehler damit wegbekommen. Danke

Habe aber immer noch einige Fehler:

rsync: mkstemp "/windows/x/Handbuecher/.AIX_basics_advanced_user.pdf.0ps3zD" failed: No such file or directory (2)

Was sind das für Dateien? Diese Datei gibt es nicht auf meinem System. Hab nur eine Datei mit Namen:

AIX_basics_advanced_user.pdf

Was mache ich damit?


gibt es eine Möglichkeit die Zeiteinstellungen der einzelnen Dateien zu benutzen?

Hab jetzt mal folgendes probiert:

rsync -vrtz --modify-window=1 root@192.168.1.100::handbooks /windows/x/Handbuecher

dann bekomme ich außer den oben beschriebenen Fehlern noch:

rsync: failed to set times on "/windows/x/Handbuecher/AIX_basics_advanced_user.pdf": Operation not permitted (1)
rsync: stat "/windows/x/Handbuecher/AIX/Unterordner" failed: No such file or directory (2)
rsync: recv_generator: mkdir "/windows/x/Handbuecher/Linux/Tools" failed: No such file or directory (2)

Was hat es damit auf sich?

mfg
Benjamin

tictactux
01.03.05, 14:27
Zu der (temporären?) PDF-Datei: vielleicht ist das eine Arbeitsdatei von rsync.
Evtl. kannst Du das Problem umgehen, wenn Du ein Temporärverzeichnis
auf einem ext2/ext3-Dateisystem mit Option -T angibst.

Zu den "Operation not permitted"-Meldungen: rsync läuft als root ?
Falls nicht, richte sudo ein und starte es damit (Suchfunktion im Forum:
"sudo ohne Passwort").
Weglassen der Option -t könnte helfen, falls praktikabel.

Gruß,
Wolfgang

bw_compu_ware
02.03.05, 08:05
ja rsync läuft als root.

hab das jetzt mal mit der Option -T (--temp-dir=DIR) probiert. mein Befehl:

rsync -vrz --modify-window=1 --temp-dir=/home/public root@192.168.1.100::handbooks /windows/x/Handbuecher

es scheinen tatsächlich temporäre Dateien von rsync zu sein, denn jetzt kommen folgende Fehlermeldungen:

rsync: recv_generator: mkdir "/windows/x/Handbuecher/IBM/Unterordner" failed: No such file or directory (2)
rsync: stat "/windows/x/Handbuecher/IBM/Unterordner" failed: No such file or directory(2)
rsync: rename "/home/public/.3490E_F00_Maintenance_Information.PDF.kLpGlF" -> "IBM/Unterordner/
3490E_F00_Maintenance_Information.PDF": No such file or directory (2)

was kann ich da machen? Was interessant ist, einige Dateien scheinen zu funktionieren.

Benjamin

tictactux
02.03.05, 12:56
Heißt "Handbuecher" tatsächlich so, und nicht mit Umlaut; und
falls nicht, wird eine Mountoption iocharset= benutzt ?

Ich würde in den mount-Optionen der vfat-Partition die Option "quiet" einfügen,
damit übergeht der Dateisystemtreiber einige Fehlercodes (z.B. beim Ausführen
von Operationen die Dateirechte/Attribute beinhalten).

Gruß,
Wolfgang

bw_compu_ware
02.03.05, 13:09
Hallo Wolfgang,

Handbuecher heißt wirklich Handbuecher.

meine Zeile in der /etc/fstab für die vfat-Partition sieht so aus:

/dev/hda5 /windows/X vfat rw,users,gid=users,umask=0002,iocharset=utf8 0 0

muss/sollte ich daran etwas ändern?

mfg
Benjamin

tictactux
02.03.05, 13:23
ich würde das so ergänzen:

/dev/hda5 /windows/X vfat rw,users,quiet,gid=users,umask=0002,iocharset=utf8 0 0

ich habe gerade mal einen kleinen Test mit rsync von ext3 auf FAT32/vfat
gemacht. Meine mount-Optionen für vfat:
rw,noexec,nosuid,nodev,showexec,quiet,uid=5000,gid =5000,umask=000,iocharset=cp1250,user=XXX

Das funktionierte (als user), die einzigen (nicht-fatalen) Fehler wurden beim
Kopieren von symlinks ausgegeben.

Gruß,
Wolfgang

bw_compu_ware
02.03.05, 14:24
hab das mit der option quiet probiert, hat nicht funktioniert. es kommen immernoch die gleichen Fehler.

hast du den Test lokal gemacht? lokal funktioniert es bei mir (komischer weise). Nur wenn ich übers Netzwerk gehe, dann funktioniert es nicht mehr.

Also ich weiß nicht mehr was ich noch probieren soll. Ich hoffe dir fällt was gutes ein.

mfg
Benjamin

tictactux
02.03.05, 14:34
Ja, den Test hab ich lokal gemacht.
Ich benutze rsync oft über's Netzwerk, allerdings nie im Servermodus.
Könntest Du das einmal so testen ? Also mit expliziter Zielangabe auf dem
Backuprechner, so daß ein eigener rsync-Prozeß dafür gestartet wird
(mit einfachem Doppelpunkt...).

Irgendwie müßte geklärt werden, was genau den Unterschied ausmacht,
und für mich ist momentan Dein rsync-Serverprozeß eine "black box"
(bzw. die von ihm verwendeten Optionen).

bw_compu_ware
02.03.05, 14:56
Hab es jetzt mal ohne Daemon gestartet mit folgendem Befehl:

rsync -vrz --modify-window=1 --temp-dir=/home/public root@10.43.50.100:/share/Systembuecher_MC/Handbuecher /windows/x

und bekomme folgende Fehlermeldungen (aber nicht bei allen Dateien/Ordnern):

rsync: recv_generator: mkdir "/windows/x/Handbuecher/IBM/pSeries_RS6000/allg. Tools" failed: No such file or directory (2)
rsync: stat "/windows/x/Handbuecher/IBM/pSeries_RS6000/allg. Tools" failed: No such file or directory (2)
rsync: rename "/home/public/.HS20_8677_Hardware_Maintenance_Manual_and_Trouble shooting_Guide.pdf.fEtgJu" -> "Handbuecher/IBM/Blades/Hardware/HS20/Herstellerhandbuecher/HS20_8677_Hardware_Maintenance_Manual_and_Troubles hooting_Guide.pdf": No such file or directory (2)


einige Dateine funktionieren, d.h werden kopiert, aber ich kann noch keine "Regel" daraus ersehen, welche er kopiert und welche nicht. es hängt offensichtlich nicht an der Länge der Verzeichnisnamen oder der Dateinamen, es scheint auch nicht am Datum zu liegen. An den Berechtigungen liegt es auch nicht, denn ich bin als root angemeldet und habe jedem Benutzer alle Rechte gegeben (chmod -r 777 /share/Systembuecher_MC)

mfg
Benjamin

tictactux
02.03.05, 15:14
zumindest bei dem einen langen Dateinamen wird wohl die maximal erlaubte
Länge für FAT überschritten (IIRC ca. 65).
Weiterhin enthalten alle Leerzeichen (ob rsync-Option -0 hilft weiß ich nicht).

FAT ist halt kein Dateisystem für Backups!
Falls es Dir nur um Sicherung auf jenem Datenträger geht, und FAT
nicht ersetzt werden kann, überlege ob nicht eine ext2-Image-Datei auf dem
FAT-System (das über loop-gemountet wird) eine sinnvolle Alternative wäre.
Wollte das nur mal erwähnt haben :)

bw_compu_ware
02.03.05, 15:30
also die option -0 hat nichts gebracht.

zur Erklärung:

Ich habe einen Firmenlaptop, auf dem festgelegt Partitionen drauf sind. die erste ist eine Windowspartition. die nächste Partition ist meine Linuxpartition (Suse 9.2) (plus natürlich einer swap). und die letzte Partition ist eine Datenpartition, auf der wir Daten ablegen können, die wir in allen Betriebssysteme benutzen möchten. die ist als FAT formatiert. Das mit der Imagedatei habe ich mir auch schon überlegt, aber da weiß ich nicht, wie ich von Windows drauf zugreifen soll/kann. gibt es da eine Möglichkeit?
Die Dateien, die ich synchronisieren möchte liegen auf einem Server auf dem Suse 9.2 installiert ist. Auf diesem liegen die ganzen Handbücher und ähnliches. nun benötige ich die Handbücher aber auch auf meinem Laptop und möchte diese natürlich möglichst aktuell halten.


Nun kennst du meine Laptopgeschichte.

mfg

Benjamin

tictactux
02.03.05, 15:48
ich würde mal versuchen, ob rsync direkt vom Windows-Notebook
(ein minimales cygwin vorausgesetzt) mit diesen Problemen nicht
besser klarkommt, oder das erwähnte unison (als Windows-Version).

Das wäre eine weniger umständliche Lösung, als Image-Dateien.
Gruß,
Wolfgang

possebaer
02.03.05, 15:59
Hallo !

Ich würde auch den Einsatz von unison empfehlen - speziell wenn die Datenmengen (genauer: die anzahl der dateien) die synchron gehalten werden sollen relativ gering ist. Ich halte damit auch meine Daten vom Laptop und meinem Desktopsystem synchron (mit Ausnahme des kdecvs trees (HEAD und 3.3er Branch und 3.4er Branch) - hier wirds dem kleinen unison zuviel) - mit dem Vorteil dass ich vorher bequem in einer grafischen Oberfläche sehe welche Dateien er wie synchronisieren will und ich da noch eingreifen kann.

Allerdings arbeite ich mit 2 reiserfs partitionen ...

Grüße,
possebaer

bw_compu_ware
02.03.05, 16:59
bis wieviele Dateien funktioniert unison? es sind etwas mehr als 1000 Dateien. Also ich würde es nicht unbedingt als kleine Datenmenge bezeichnen. (also zum synchronisieren).

mfg

Benjamin

tictactux
02.03.05, 17:35
bis wieviele Dateien funktioniert unison? es sind etwas mehr als 1000 Dateien. Also ich würde es nicht unbedingt als kleine Datenmenge bezeichnen. (also zum synchronisieren).
ok, ich wollte unison sowieso testen :) :
Hab einen lokalen Test eines Verzeichnisbaums (ebenfalls technische Doku/Bücher)
gemacht, von ext3 auf lokales FAT32.
Größe: 939 MB
Dateien: 32560
Dauer (unison-gtk 2.9.1): 3,5 Minuten, erfolgreich
Fehler: insgesamt 5 ( 4 wegen Unfähigkeit Symlinks zu erstellen, einer wegen
doppelten Dateinamen für FAT (Index.html und index.hml im gleichen Ordner)

Sieht doch gut aus :)

Gruß,
Wolfgang

EDIT: ein zweiter Lauf mit anderen Daten:
1.1 GB, 120000 Dateien: 4 Minuten (auch nur Fehler wg. Symlinks).

Allerdings: 300M Speicherverbrauch, > 3.5 system-load...
(wohl wegen hohem IO-Overhead bei FAT-Zugriffen).