rsync: archivado sobre ssh

0

Me gustaría usar rsync para archivar regularmente un directorio local que contenga más de 4G de datos, usando una cuenta de usuario de bajos privilegios en una máquina remota que tiene acceso de escritura solo al directorio de respaldo. Me gustaría preservar los permisos, los usuarios y los grupos de la máquina local para poder simplemente volver a sincronizar los archivos a la máquina local tal como está para restaurar la copia de seguridad.

El problema es que tan pronto como los archivos se crean en la máquina remota con los permisos, usuarios y grupos de la máquina local, la cuenta remota ya no tiene los permisos necesarios para modificar los archivos remotos si es necesario. ¿Hay alguna manera de otorgar permisos de escritura a un usuario en particular en el directorio de respaldo en la máquina remota sin tocar realmente los permisos de los archivos dentro de ese directorio?

Isaac Sutherland
fuente
Suponiendo que no va a trabajar directamente en su copia de seguridad, puede ahorrarse muchos problemas simplemente archivando un tarball. La creación diferencial aún le permitiría copiar archivos modificados o creados después de la copia de seguridad anterior.
Eroen
@Eroen Tengo que transmitir las copias de seguridad a través de una conexión a Internet relativamente lenta y costosa (por GB), por lo que se requieren actualizaciones diferenciales de la copia de seguridad. No he intentado tarballing todo el kaboodle como dices porque sospecho que consumirá más ancho de banda que si sincronizo los archivos directamente. ¿Puedes comentar si mi sospecha es correcta o no?
Isaac Sutherland
Muy bien, rsync puede limitar la transmisión a partes modificadas de archivos modificados (afirma), mientras que un tarball diferencial copiaría todos los archivos modificados.
Eroen

Respuestas:

0

Lo que podría hacer es crear un grupo en la máquina remota que coincida con el de los archivos. Pero esto solo le dará acceso a los archivos que se pueden modificar en grupo.

Otra opción es crear un usuario ficticio en su host remoto, al que solo se conectará (usando su), usando el mismo UID que la máquina local.

Una tercera opción es hacer rápidamente un directorio -R $ {USER} / chown y revertirlo; Sin embargo, no estoy seguro de si rsync seleccionará la diferencia, lo que podría hacer que considere que los archivos son diferentes. Deberías experimentar con esto.

Pero, en términos generales, una copia de seguridad no debe modificarse :)

Karolos
fuente