Uso esta invocación rsync para hacer una copia de seguridad de mi directorio de inicio:
rsync -aARrx --info= --force --delete --info=progress2 -F "$USER_HOME" "$BACKUP_MNTPOINT"
La página de manual de rsync dice que -a implica -g y -o (entre otros modificadores), lo que debería preservar la propiedad. Sin embargo, he notado que si un directorio no existe debajo $BACKUP_MNTPOINT/$USER_HOME, se crea con la propiedad root: root en lugar de la correcta. (Esto solo sucede con los directorios justo debajo $BACKUP_MNTPOINT/$USER_HOME). ¿Porqué es eso?
$BACKUP_MNTPOINTes una unidad montada localmente. $BACKUP_MNTPOINT/$USER_HOMEtiene la propiedad y los permisos correctos. Ni $USER_HOMEtampoco $BACKUP_MNTPOINTtermina con una barra.
Tanto el sistema de archivos de origen como el de destino son XFS y su ejecución mkdir $BACKUP_MNTPOINT/$USER_HOMEcrea un directorio con la propiedad esperada.
/homey la unidad de copia de seguridad. Hasta ahora, creo que solo sucedió para los directorios principales. Ni $BACKUP_MNTPOINTtampoco $USER_HOMEtermina con una barra. EDITAR: ahora puedo confirmar que solo sucede en los directorios justo debajo$BACKUP_MNTPOINT/$USER_HOME
mkdir $BACKUP_MNTPOINT/$USER_HOME/foocrea un directorio con la propiedad del usuario.
strace(como se especifica en una pseudo respuesta).
$BACKUP_MNTPOINTy con qué opciones está montado? ¿Esto sucede solo para el$BACKUP_MNTPOINT/$USER_HOMEdirectorio padre ( ) o para todos los directorios creados? Hacer$BACKUP_MNTPOINTy$USER_HOMEterminar con un/?