J'utilise cette invocation rsync pour sauvegarder mon répertoire personnel:
rsync -aARrx --info= --force --delete --info=progress2 -F "$USER_HOME" "$BACKUP_MNTPOINT"
La page de manuel de rsync indique que -a implique -g et -o (entre autres commutateurs), ce qui devrait préserver la propriété. Cependant, j'ai remarqué que si un répertoire n'existe pas sous $BACKUP_MNTPOINT/$USER_HOME, il est créé avec la propriété root: root au lieu du bon. (Cela ne se produit qu'avec les répertoires juste en dessous $BACKUP_MNTPOINT/$USER_HOME). Pourquoi donc?
$BACKUP_MNTPOINTest un lecteur monté localement. $BACKUP_MNTPOINT/$USER_HOMEa la propriété et les autorisations appropriées. Ni , $USER_HOMEni se $BACKUP_MNTPOINTterminer par une barre oblique.
Les systèmes de fichiers source et cible sont tous deux XFS et l'exécution mkdir $BACKUP_MNTPOINT/$USER_HOMEcrée un répertoire avec la propriété attendue.
/homeet le lecteur de sauvegarde. Jusqu'à présent, je pense que cela ne s'est produit que pour les répertoires parents. Ni , $BACKUP_MNTPOINTni se $USER_HOMEterminer par une barre oblique. EDIT: Je peux confirmer maintenant que cela n'arrive qu'aux répertoires juste en dessous$BACKUP_MNTPOINT/$USER_HOME
$BACKUP_MNTPOINT/$USER_HOMEles bonnes autorisations mais pas tous les sous-répertoires? Veuillez modifier votre question et ajouter ces détails. Précisez également si mkdir $BACKUP_MNTPOINT/$USER_HOME/foocrée un répertoire appartenant à votre utilisateur si vous le faites manuellement.
mkdir $BACKUP_MNTPOINT/$USER_HOME/foocrée un répertoire appartenant à l'utilisateur.
strace(comme spécifié dans une pseudo réponse).
$BACKUP_MNTPOINTet avec quelles options est-il monté? Cela se produit-il uniquement pour le$BACKUP_MNTPOINT/$USER_HOMErépertoire parent ( ) ou pour tous les répertoires créés? Faites$BACKUP_MNTPOINTet$USER_HOMEterminez par un/?