Définir des autorisations de manière forcée lors de l'exécution de rsync

14

Actuellement, je sauvegarde des gigaoctets et des gigaoctets de données d'un serveur en direct vers un serveur de sauvegarde à l'aide d'un script de combinaison rsync / ssh, permettant un fonctionnement automatisé tous les soirs avec une tâche cron.

Le problème que j'ai est avec les autorisations.

L'exécution de rsync avec le mode -a copie sur l'utilisateur: groupe et mode de fichier, qui sont actuellement 54122: jeux et -rwx - S ---.

Afin de pouvoir exécuter les fichiers sur le serveur de sauvegarde (ne me demandez pas pourquoi l'employeur l'exige), j'ai dû exécuter un temps et un processeur coûteux (en raison de la quantité de données transférées) () et chmod () définissant chaque fichier / dossier sur www-data: www-data et autorisations de 755.

Existe-t-il de toute façon que je peux configurer rsync pour forcer chaque fichier / dossier à www-data: www-data et 755 ou est-ce que je regarde ce problème sous le mauvais angle?

Je suppose que je pourrais exécuter -rltD au lieu de -a (ce qui équivaut à -rlptgoD) mais qu'advient-il des nouveaux fichiers? Quelles autorisations et propriétaire: les paramètres de groupe reçoivent-ils?

bafromca
la source

Réponses:

22

Parmi de nombreuses autres options, rsync peut modifier l'autorisation en l'exécutant avec l'option:

rsync [options] --chmod=CHMOD source destination

où vous pouvez également combiner l'option --archiveavec l'option --no-ownerou --no-permsd'exclure la préservation du propriétaire resp. autorisations. Pour plus d'options sur les paramètres très subtils de CHMOD, consultez la page de manuel de rsync .

Takkat
la source
Notez que l' --permsindicateur est requis pour que la commande ci-dessus fonctionne. De plus, même si je n'ai pas essayé, je suppose que le --no-permsdrapeau ne fonctionnera pas, il désactivera probablement le --chmoddrapeau.
laurent
6
Exemple:rsync --chmod=ugo=rX source/ destination/
Flimm
1

Si les autorisations sont déjà configurées de cette façon sur la machine à partir de laquelle vous copiez, vous pouvez essayer -p. Il enregistre les autorisations. Vous pouvez également essayer grsync. C'est une interface graphique pour rsync qui rend certaines des options plus apparentes. -O préserve également le propriétaire.

J'espère que cela pourra aider. Bonne chance.

Ctuchik
la source