Rsync kann einige Dateien nicht sichern, was zu Fehler 22 führt


9

Ich versuche, meinen gesamten Server mit einem einfachen rsync auf einem NFS-gemounteten Volume auf '/ nas' zu sichern.

Hier ist mein rsync-Befehl

rsync -sav -S --stats -H --numeric-ids --delete -D 
--exclude-from="/usr/local/bin/rsync_nas1_exclude" / /nas1/

Den folgenden Fehler erhalten:

rsync: chown "/nas1/home/8003/.local/share/icons/application-x-wine-extension-its.png" 
failed: Invalid argument (22)

oder

rsync: chown "/nas1/home/8003/.local/share/applications/wine/Programs/FxPro - Trader"     failed: Invalid argument (22)

Irgendeine Idee warum? Ich benutze den Parameter '-s', um Dateinamen zu schützen

Antworten:


10

Der Fehler ist eingeschaltet chown. Meine Vermutung: Ihr Ziel-NFS-Mount ist ein FAT32- oder NTFS-Volume, das nicht unterstützt wird chown. Sie haben zwei Möglichkeiten: Formatieren Sie es mit einem Linux-Dateisystem wie ext3 oder löschen Sie Rechte und Eigentümer vollständig ( --no-owner --no-grouprsync-Optionen).


Die Partition ist ext3; aber ich muss den Besitzer / die Gruppe behalten, deshalb benutze ich die Option 'numerische IDs'
Disco

Läuft auf Ihrem NAS Linux oder eine andere Unix-Version?
Wazoox

Linux natürlich ...
Disco

1

Ich habe seit langer Zeit das gleiche Problem, ohne dass eine Lösung in Sicht ist. Das Problem scheint zu sein, dass Sie mit NFS die UID / GID einer Datei nicht in solche ändern können, die auf dem Server nicht vorhanden sind:

# for a local file, it works fine:
rena@akira:~ $ sudo chown -v 999:999 testfile 
changed ownership of `testfile' to 999:999

# but if the file is on an NFS share, it fails:
rena@akira:/mnt/yuki $ sudo chown -v 999:999 testfile
chown: changing ownership of `testfile': Invalid argument
failed to change ownership of `testfile' to 999:999

Es scheint, dass dies ein kleiner Designfehler in NFS ist. Sie können es nicht zum Sichern von Dateien verwenden, die jemandem gehören, der nicht auf dem Server vorhanden ist. Aber vielleicht gibt es eine Möglichkeit, diese Prüfung zu deaktivieren?


Es funktioniert für mich auf meinem NFS-Server. Vielleicht ist es eine Einschränkung der Distribution / des Betriebssystems, die auf dem NFS-Server ausgeführt wird?
Wazoox

0

In meinem Fall stellte sich heraus, dass es sich um die NFS-Version handelte. Mit NFSv4 waren UID / GID, die auf der Serverseite nicht vorhanden waren, nicht zulässig, wohingegen NFSv3 (solange es mit exportiert wurde no_root_squash) nichts dagegen hatte. Nachdem ich vers=3die Mount-Optionen in /etc/fstabrsync hinzugefügt hatte , konnte ich sie problemlos chown.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.