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_MNTPOINT
est un lecteur monté localement. $BACKUP_MNTPOINT/$USER_HOME
a la propriété et les autorisations appropriées. Ni , $USER_HOME
ni se $BACKUP_MNTPOINT
terminer par une barre oblique.
Les systèmes de fichiers source et cible sont tous deux XFS et l'exécution mkdir $BACKUP_MNTPOINT/$USER_HOME
crée un répertoire avec la propriété attendue.
/home
et le lecteur de sauvegarde. Jusqu'à présent, je pense que cela ne s'est produit que pour les répertoires parents. Ni , $BACKUP_MNTPOINT
ni se $USER_HOME
terminer 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_HOME
les 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/foo
crée un répertoire appartenant à votre utilisateur si vous le faites manuellement.
mkdir $BACKUP_MNTPOINT/$USER_HOME/foo
crée un répertoire appartenant à l'utilisateur.
strace
(comme spécifié dans une pseudo réponse).
$BACKUP_MNTPOINT
et avec quelles options est-il monté? Cela se produit-il uniquement pour le$BACKUP_MNTPOINT/$USER_HOME
répertoire parent ( ) ou pour tous les répertoires créés? Faites$BACKUP_MNTPOINT
et$USER_HOME
terminez par un/
?