Lorsque j'utilise l'option -a comme demandé et répondu dans Préserver les autorisations avec rsync , j'ai eu beaucoup d'erreurs "rsync: impossible de définir les autorisations sur".
rsync: failed to set permissions on "/ata/text/RCS/jvlc,v": Operation not permitted (1)
rsync: failed to set permissions on "/ata/text/RCS/jvm,v": Operation not permitted (1)
rsync: failed to set permissions on ...
Pourquoi est-ce? Les fichiers sont des fichiers normaux avec la permission de 0664.
Très probablement, rsync à l'extrémité de destination ne s'exécute pas en tant qu'utilisateur avec l'autorisation de chmod
ces fichiers (qui devraient être soit le propriétaire du fichier, soit la racine).
Cette erreur se produit, car l'opération de modification des autorisations n'est pas autorisée. Vérifiez donc si votre utilisateur exécutant les commandes dispose des autorisations appropriées (par exemple, il n'est pas le propriétaire), ou votre système de fichiers ne le prend pas en charge.
Vous pouvez ignorer les avertissements en spécifiant les arguments supplémentaires à rsync à --no-perms
et -O
(--omit-dir-times
) pour éviter d'essayer de définir les autorisations et les heures de modification sur les fichiers/répertoires. Cela devrait résoudre les erreurs. Sinon, évitez d'utiliser -a
.
Comme déjà dit, le problème se produit chaque fois que vous n'avez pas l'autorisation de modifier les autorisations de fichier sur la destination de rsync
. Cependant, vous pouvez éviter ce message d'erreur en utilisant les deux arguments supplémentaires --no-o
et --no-g
.
Exemple:
rsync -ahv --no-o --no-g target/ destination/