it-swarm.com.de

rsync-Fehler: Fehler beim Einstellen der Zeiten für "/ foo / bar": Vorgang nicht zulässig

Ich bekomme einen verwirrenden Fehler von rsync und die ersten Dinge, die ich bei der Websuche finde (sowie alle üblichen Modifikationen), lösen diesen Fehler nicht:

rsync: failed to set times on "/foo/bar": Operation not permitted (1)
rsync error: some files could not be transferred (code 23) 
  at /SourceCache/rsync/rsync-35.2/rsync/main.c(992) [sender=2.6.9]

Es scheint trotz dieses Fehlers zu funktionieren, aber es wäre schön, das loszuwerden.

171
dreeves

Ob /foo/bar ist auf NFS (oder möglicherweise einem Fuse-Dateisystem), das könnte das Problem sein.

So oder so, Hinzufügen von -O/--omit-dir-times in Ihrer Befehlszeile verhindert, dass Sie versuchen, Änderungszeiten für Verzeichnisse festzulegen.

258
Jon Bright

Das Problem liegt wahrscheinlich daran, dass/foo/bar nicht im Besitz des Schreibvorgangs auf einem Remote-Darwin-System (OS X) ist. Eine Lösung für das Problem besteht darin, einen geeigneten Eigentümer auf der Remote-Site festzulegen.

Da diese Antwort abgestimmt wurde und daher für jemanden hoffentlich nützlich war, erweitere ich sie, um sie klarer zu machen.

Der Grund dafür ist, dass rsync wahrscheinlich versucht, beim Kopieren von Dateien eine beliebige Änderungszeit (mtime) festzulegen.

Um dies zu tun, muss die effektive UID des Darwin-Systems utime () entweder mit der UID der Datei oder der des Super Users übereinstimmen (siehe Seite von opengroup utime ). Aktivieren Sie diese Diskussion auf der rsync-Mailingliste als Referenz.

80
anddam

In meinem Fall bestand das Problem darin, dass der "Empfänger-Mountpoint" falsch eingehängt war. Es war schreibgeschützt (aus ungewöhnlichen Gründen). Es sah so aus, als würde rsync die Dateien kopieren, aber es war nicht so. Ich habe meine fstab-Datei überprüft und die Mount-Optionen auf Standard geändert, das Dateisystem erneut gemountet und rsync erneut ausgeführt. Alles gut dann.

2
ripah

Ich hatte das gleiche problem Für mich besteht die Lösung darin, die entfernte Datei zu löschen und rsync erneut erstellen zu lassen.

1
shintaroid

Dies passierte mir auf einer Partition vom Typ xfs (rw,relatime,seclabel,attr2,inode64,noquota), in der die Verzeichnisse einem anderen Benutzer in einer Gruppe gehörten, in der wir beide Mitglieder waren. Die Gruppenmitgliedschaft wurde bereits vor der Anmeldung eingerichtet und die gesamte Verzeichnisstruktur war gruppenbeschreibbar. Ich habe manuell Sudo chown -R otheruser.group directory Und Sudo chmod -R g+rw directory Ausgeführt, um dies zu bestätigen.

Ich habe noch keine Ahnung, warum es ursprünglich nicht funktioniert hat, aber die Übernahme des Eigentums mit Sudo chown -R myuser.group directory Hat es behoben. Vielleicht im Zusammenhang mit SELinux?

0
Sam Brightman

Ich habe dieses Problem gesehen, wenn ich in ein Dateisystem schreibe, das die Zeiten (nicht richtig) handhabt - ich denke SMB Shares oder FAT oder so.

Was ist Ihr Zieldateisystem?

0
David Wolever

Dieser Fehler kann auch auftreten, wenn Sie den rsync-Prozess für Dateien ausführen, die in der Quelle oder im Ziel nicht kürzlich geändert wurden, da die Zeit für die kürzlich geänderten Dateien nicht festgelegt werden kann.

0
Gurdeep Singh

Möglicherweise verfügen Sie nicht über die erforderlichen Berechtigungen für einige Dateien. Versuchen Sie von einem Administratorkonto aus "Sudo rsync -av". Aktivieren Sie alternativ das Root-Konto und melden Sie sich als Root an. Das sollte es Ihnen ermöglichen, Ihr System vollständig zu entlasten und Ihre rsync zu erzwingen! ;-) Ich bin mir nicht sicher, ob die oben genannten --extended-Attribute helfen werden, aber ich habe es aus gutem Grund auch reingeworfen.

0
captain