J'essaie de rsync les fichiers d'un serveur à un autre mais j'obtiens cette erreur
rsync: échec de la définition des heures sur "/ dept / intranet / dept / atest /.": opération non autorisée (1)
Quelqu'un peut-il m'aider pourquoi?
Je suppose que c'est un problème d'autorisations.
Voici ma commande:
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
Réponses:
Juste pour que nous soyons sur la même page:
Ensuite deux choses:
C'est juste un truc de système de fichiers
Si le dossier de destination est un montage NFS, ou un système de fichiers qui ne gère pas bien les heures de modification, il se casse.
Essayez d'ajouter le paramètre
-O
(for--omit-dir-times
) à votre commande.Les temps de modification seront conservés, mais omis pour les répertoires:
C'est ma meilleure estimation, car la synchronisation des fichiers semble fonctionner et votre erreur se produit lors de la synchronisation de l'heure du mod. Quoi qu'il en soit, avez-vous vraiment besoin de conserver les temps de modification ? L'
-c
option ignore les fichiers en fonction de la somme de contrôle (donc les heures de modification n'ont pas d'importance).Ou c'est en fait un problème de permission
ssh -vv test.desktop "touch /dept/intranet/dept/atest/f1/test"
)ssh -vv [email protected] "touch /dept/intranet/dept/atest/f1/test"
)Aucune de ces réponses
Exécutez votre commande avec l'
-v
option, pour verbose.la source
--omit-dir-times
astuce. Aide vraiment.Ajoutez -O ( --omit-dir-times ) à votre ligne de commande pour éviter qu'il essaie de définir des heures de modification sur les répertoires.
Lisez également ceci: /programming/667992/rsync-error-failed-to-set-times-on-foo-txt-operation-not-permitted
la source
Dans mon cas, j'ai résolu le problème en accordant des autorisations sur le répertoire parent où la synchronisation a eu lieu.
En fait, le propriétaire du répertoire parent était autre que l'utilisateur effectuant la synchronisation.
la source