Frage Wie kann man Rsync davon abhalten, übertragene Dateien zu übertragen?


Ich habe eine sshfs Verbindung mit einem Remote-Dateisystem auf einem Linux-Server eingerichtet. Ich mache eine Rsync von meinem lokalen Server zum ftpfs-Dateisystem. Wegen der Natur dieses Setups kann ich nicht chown alles auf dem sshfs-Dateisystem.

Wenn ich den Rsync mache, versucht es, alle Dateien nach der Übertragung zu chown. Dies führt zu Chown-Fehlern, obwohl es die Dateien problemlos überträgt.

Gibt es bei Rsync eine Möglichkeit, die Datei nicht zu versuchen und zu chownen? Wenn ich rsync wie 1000 Dateien bin, endet ich mit einem Protokoll von 1000 chown: permission denied (error 13) Fehler. Ich weiß, es tut nichts weh, diese Fehler zu bekommen, da das Eigentum der Dateien durch die sshfs-Konfiguration selbst bestimmt wird. Aber es wäre schön, sie nicht zu bekommen.


63
2018-02-28 23:24


Ursprung




Antworten:


Sie führen wahrscheinlich rsync so aus:

rsync -a dir/ remote:/dir/

Das -a Möglichkeit nach der Dokumentation ist äquivalent zu: -rlptgoD

      -a, --archive    archive mode; equals -rlptgoD (no -H,-A,-X)

Wahrscheinlich möchtest du das entfernen -o und -g Optionen:

      -o, --owner                 preserve owner (super-user only)
      -g, --group                 preserve group

Daher sollte Ihr rsync-Befehl in etwa so aussehen:

rsync -rlptD dir/ remote:/dir/

Oder wie @glglgl weist darauf hin:

rsync -a --no-o --no-g dir/ remote:/dir/

Die verbleibenden Optionen sind:

      -r, --recursive             recurse into directories
      -l, --links                 copy symlinks as symlinks
      -p, --perms                 preserve permissions
      -t, --times                 preserve modification times
      -D                          same as --devices --specials
          --devices               preserve device files (super-user only)
          --specials              preserve special files

97
2018-02-29 05:12



... oder nur -a --no-o --no-g - glglgl
Ich habe nur gebraucht rsync -r --no-o --no-g /source/* /dest/ und mein Besitzer und die Gruppe der Dateien am Zielort wurden immer noch entsprechend der Quelle geändert. Irgendwelche Ideen? - Ram Patra


Pass nicht auf -o oder irgendeine der anderen Optionen, die es beinhaltet.


12
2018-02-28 23:40





Benutze nicht die -a Option, da es die -p Option, die die Berechtigungen behält. Für diese Situation, die -r sollte genug sein.

Weitere Informationen finden Sie unter man rsync.


5
2018-02-28 23:41



Bist du sicher -p Was möchte ich vermeiden? Besitz ist anders als Berechtigungen, richtig? - Jake Wilson


Ich bin auf etwas ähnliches gestoßen rsync Der Eigentümer und die Gruppe von Dateien und Verzeichnissen wurde nicht von einem Remote-Server synchronisiert. Um zu korrigieren, kopierte ich über die /etc/shadow, /etc/group und /etc/passwd Dateien.

Als ich rannte rsync Der Befehl darunter funktionierte, indem er Berechtigungen, symbolische Links und Besitzrechte behielt.

Ich hatte SSH-Schlüssel eingerichtet, um passwortloses SSH zu verwenden.

rsync -avpog user@10.1.x.x:/usr/local /usr

0
2018-04-06 15:00