Lorsque j'utilise l'option -a telle qu'elle est demandée et répondue dans Conserver les autorisations avec rsync , j'ai reçu de nombreuses 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.
permissions
rsync
Prosseek
la source
la source
Réponses:
Très probablement, rsync à la fin de la destination ne s'exécute pas en tant qu'utilisateur autorisé
chmod
à accéder à ces fichiers (qui doivent être le propriétaire ou la racine du fichier).la source
Cette erreur se produit car l’opération de modification des autorisations n’est pas autorisée. Donc, vérifiez si votre utilisateur qui exécute les commandes dispose des autorisations appropriées (par exemple, il n'est pas le propriétaire) ou si votre système de fichiers ne le prend pas en charge.
Vous pouvez ignorer les avertissements en spécifiant les arguments supplémentaires de rsync à
--no-perms
and-O
(--omit-dir-times
) pour éviter d'essayer de définir des autorisations et des temps de modification sur des fichiers / répertoires. Cela devrait résoudre les erreurs. Sinon, évitez d'utiliser-a
.la source
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
. Toutefois, vous pouvez éviter ce message d'erreur en utilisant les deux arguments supplémentaires--no-o
et--no-g
.Exemple:
la source
--no-owner
et--no-group
ne contrôlez pas les autorisations. Vous voudriez--no-perms
pour ça. Si vous voulez éviter d'essayer de changer de propriétaire, vous aurez probablement besoin des trois drapeaux.Contexte
Généralement,
rsync
vous verrez des avertissements si:rsync
serveur à l'autre extrémité ne possède pas les autorisations nécessaires pour exécuter une action associée aux éléments suivants:Ces problèmes se manifesteront par l'intermédiaire du
propriétaire groupe autorisationsrsync
client qui tente de communiquer avec lersync
serveur sous forme de message de ce type lors de la tentative de copie de fichiers / répertoires sur un destinataire:Dans les cas où le destinataire ne peut pas effectuer ces opérations, vous pouvez
rsync
simplement ignorer ces tentatives, sachant que la destination ne sera pas strictement identique aux métadonnées de l'expéditeur autour des fichiers. Cela créera toujours des copies identiques des parties binaires des fichiers et des répertoires.Pour
page de manuel rsyncrsync
ne pas vous soucier des métadonnées, vous pouvez utiliser le--no-OPTION
pour désactiver l'une de ces options implicites.Donc, dans notre cas, nous voulons utiliser quelque chose comme ceci pour désactiver des choses:
Exemple
Alternative
Une autre raison en est l'utilisation du
-a
commutateur.-a
comprend une famille de commutateurs:Au lieu d’utiliser,
Ce sont les options individuelles incluses avec-a
vous pouvez utiliser les différents commutateurs sans avoir à utiliser le--no-OPTION
'.-a
En faisant les choses de cette façon, l'exemple ci-dessus deviendrait ceci:
la source