Ich versuche, Dateien von einem Server auf einen anderen zu synchronisieren, erhalte jedoch diesen Fehler
rsync: Fehler beim Festlegen der Zeiten für "/ dept / intranet / dept / atest /.": Vorgang nicht zulässig (1)
Kann mir jemand warum so helfen?
Ich denke, es ist ein Problem mit den Berechtigungen.
Das ist mein Befehl:
RSYNC=/usr/bin/rsync
SSH=/usr/bin/ssh
REMOTE_HOST=test.desktop
${RSYNC} -crlt -e ${SSH} ${LOCAL_DIR} ${REMOTE_HOST}:${REMOTE_DIR}
LOCAL_DIR = workplace1/f1/
permissions drwxr-xr-x 11 root root 4096 Mar 19 2009 f1
REMOTE_DIR=/dept/intranet/dept/atest/f1/
permissions :drwxr-xr-x 14 dbld a1 4096 Mar 19 2009 f1
Antworten:
Nur damit wir auf der gleichen Seite sind:
Dann zwei Dinge:
Es ist nur ein Dateisystem-Ding
Wenn der Zielordner ein NFS-Mount ist oder ein Dateisystem, das mit Mod-Zeiten nicht gut zurechtkommt, funktioniert es nicht mehr.
Fügen Sie Ihrem Befehl den Parameter
-O
(for--omit-dir-times
) hinzu .Änderungszeiten werden beibehalten, bei Verzeichnissen jedoch weggelassen:
Dies ist meine beste Vermutung, da die Dateisynchronisierung zu funktionieren scheint und Ihr Fehler bei der Mod-Zeitsynchronisierung auftritt. Müssen Sie die Änderungszeiten wirklich einhalten ? Die
-c
Option "Dateien basierend auf Prüfsumme überspringen" (so dass die Mod-Zeiten keine Rolle spielen).Oder es ist tatsächlich ein Berechtigungsproblem
ssh -vv test.desktop "touch /dept/intranet/dept/atest/f1/test"
)ssh -vv [email protected] "touch /dept/intranet/dept/atest/f1/test"
) ?Nichts des oben Genannten
Führen Sie Ihren Befehl mit der
-v
Option für ausführlich aus.quelle
--omit-dir-times
Tipp. Hilft wirklich.Fügen Sie -O ( --omit-dir-times ) zu Ihrer Befehlszeile hinzu, um zu vermeiden, dass versucht wird, Änderungszeiten für Verzeichnisse festzulegen .
Lesen Sie auch Folgendes: /programming/667992/rsync-error-failed-to-set-times-on-foo-txt-operation-not-permitted
quelle
In meinem Fall habe ich das Problem gelöst, indem ich Berechtigungen für das übergeordnete Verzeichnis erteilt habe, in dem die Synchronisierung durchgeführt wurde.
Tatsächlich war der Besitzer des übergeordneten Verzeichnisses nicht der Benutzer, der die Synchronisierung durchgeführt hat.
quelle