• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[Behelf]rsync: chgrp "Pfad" failed: Invalid argument (22)

halo44

Hacker
Guten Abend zusammen,

ich habe mal wieder eine Frage und befinde mich hoffentlich in der richtigen Abteilung dieses Forums.

Ich benutze rsync, um veränderte Dateien aus Verzeichnissen meines Desktoprechners (Client) auf ein NAS (Server) zu übertragen, auf welchem ich Debian installiert habe. Das funktioniert auch soweit ganz gut. Allerdings nervt mich ein Schwall von Fehlermeldungen (siehe Thema des Beitrags), die anscheinend :???: gegenstandslos sind, da alle Dateien korrekt auf dem NAS aktualisiert werden.

Zu den Fakten:

Die Partition, in der die Quellverzeichnisse liegen, ist mit dm-crypt/Luks verschlüsselt. Das gilt auch für die Partition auf dem NAS.

Beide Partitionen werden vor dem Einsatz von rsync entschlüsselt und gemountet. Auf dem NAS geschieht dies zusätzlich in ein Verzeichnis für den Export mit NFSv4. Dieses wird auch auf dem Desktoprechner (Client) gemountet und dorthin zielt rsync.

Die Dateien werden korrekt übertragen/aktualisiert. Allerdings läuft der Konsolspeicher voll mit den erwähnten Meldungen, so daß - unabhängig von der Meldungsfülle - keine vernünftige Kontrolle möglich ist.

Zwar kann ich mit folgender Version des rsync
Code:
rsync -avP --delete /Pfad-auf-dem-Client/ /Gemountetes-Exportverzeichnis  2>/dev/null
die reinen Fehlermeldungen ins "Nirwana" schicken, was allerdings heißt, daß mir auch "wirkliche" Fehlermeldungen entgehen.

Meine Fragen :

a.) Was wollen mir die erwähnten Fehlermeldungen sagen?

b.) Was mache ich falsch ?

Vielleicht könnt Ihr mir weiterhelfen, wofür ich mich schon vorab bedanke.

Gruss H.
 

spoensche

Moderator
Teammitglied
Die Fehlermeldungen kommen zustande, weil rsync versucht die Benutzergruppe zu ändern, so das diese der Gruppe auf dem NAS entspricht.
Du sagst rsync ja nicht das die Permissions beibehalten werden sollen. Das Quellverzeichnis wird mit deinem Aufruf auch nicht recursiv übertragen. D.h. auf dem NAS wird es nur das Verzeichnis, aber ohne Inhalt, geben.

Folgender rsync Aufruf eignet sich besser:

Code:
rsync -aurxp --delete /Pfad-auf-dem-Client /Exportverzeichnis
 
OP
H

halo44

Hacker
Danke für Deine Hilfe, die leider nicht zum Erfolg führte.

Die Fehlermeldungen kommen trotzdem. Die Dateien auf dem NAS werden allerdings nach wie vor aktualisiert, d.h. die Verzeichnisse sind auch nicht leer.

Hier der Status einer Datei auf dem NAS, die ich soeben auf dem Desktop aktualisierte und per rsync übertrug :

Code:
-rw------- 1 benutzer users       864768 Mai 12 19:52 Datei-2013.xls

Gruss H.
 
OP
H

halo44

Hacker
Vielleicht kann folgende Information noch nützlich sein :

Der von spoensche empfohlene Befehl funktioniert sauber bei nicht verschlüsselten Verzeichnissen.

Bei verschlüsselten Verzeichnissen bleibt es bei den Fehlermeldungen. Die Ordner und Dateien werden trotzdem richtig übertragen und lassen sich auf dem NAS auch öffnen.

Und noch eine Information: versuche ich rsync der verschlüsselten Verzeichnisse mit Rootrechten, so erhalte ich den Fehler "Permission denied (13)" und es wird auch nichts übertragen.

Gruss H.

Edit wegen der weiteren Info.
 
OP
H

halo44

Hacker
Wieder etwas Neues und vielleicht Nützliches zum Thema :

Wenn ich rsync von einem Debian-Client starte, so läuft die Aktualisierung meldungsfrei durch. Dies sowohl in der von spoensche empfohlenen als auch in der von mir ursprünglich praktizierten Variante.

Vielleicht spielen die User- und Gruppen-IDs eine Rolle, obwohl dies nicht erklärt, warum beim openSuse-Client die Aktualisierung der nicht verschlüsselten Partition ebenfalls ohne Fehlermeldung abläuft. Fehler zeigt dort nur die Aktualisierung der verschlüsselten Partition.

Gruss H.
 
OP
H

halo44

Hacker
Da einerseits derzeit keine Lösung in Sicht ist und andererseits trotz Fehlermeldung auf dem NAS alles korrekt aktualisiert wird, leite ich die Fehlermeldungen um in Datei und eliminiere anschließend die betreffenden Meldungen aus dieser Datei. Die verbleibenden Meldungen zeige ich mir dann an :

Code:
rsync -aurxp --delete /Pfad-auf-dem-Client /Exportverzeichnis 2>rsync.log
grep -v "Invalid argument (22)" rsync.log > rsync.log.rest
cat rsync.log.rest
Damit kann ich vorerst leben :/

Gruss H.
 
Oben