Rsync sobre sistemas remotos
Introducción
rsync es una aplicación que ofrece un sistema de transmisión de ficheros, de forma incremental que permite la generación de sistemas de backups muy efectivos. Uno de los mejores ejemplos es Time Machine de Apple, que no es sino una interface visual de rsync
Sin embargo muchos sitios expresan o ponen a disposición de los usuarios ejemplos que usados en un escenario diferente del usado en un entorno personal o corporativo, son fuente de problemas.
Como norma general se usa el parámetro -a
o --archive
el cual es el equivalente a -rlptgoD
lo cual supone que los parámetros de usuario y grupo, y los permisos de lectura, escritura y ejecución intentarán ser clonados, cosa que no funcionará e incluso creará problemas silenciosos en un entorno en el que los usuarios y grupos no son los mismos en origen que en destino.
Parámetros de rsync para usar en sistemas remotos no coincidentes
El escenario es el de realizar un backup de un sistema completo (disco principal) en un usuario remoto (no root)
# rsync --devices --specials --hard-links --one-file-system --recursive --links --times --no-perms --no-group --no-owner --itemize-changes / remote_user@remote.host:/remote/path
Parámetros con rsync-time-backup
Dado que es un programa basado en rsync con sus propias normas para anular su configuración debemos usar otro camino con --rsync-set-flags
--rsync-set-flags "-D --numeric-ids --links --hard-links -rlt --no-perms --no-group --no-owner --itemize-changes"
Parámetros
Deberás ajustar los parámetros a tu escenario, pero te explico los que he usado aquí.
Corto | Normal | Descripción |
---|---|---|
-D | El mismo que --devices -aspecials | |
-l | --links | copia los enlaces simbólicos como enlaces simbólicos |
-H | --hard-links | preserva los enlaces duros |
-x | --one-file-system | No copiará los dispositivos montados. Si tu sistemas tiene particiones como /var /usr y quieres copiar algo de aqui, esta opción NO debería estar aquí |
-r | --recursive | Copiara recursivamente |
-t | --times | Necesario sobre todo si no usamos -a, ya que será parte de la marca para saber si el fichero debe o no ser transferido o actualizado |
--no-perms | No copiara los permisos originales. De esta forma no nos encontraremos con problemas de eliminación, uso, debidos a cuestiones de propietario /permisos. Como contrapartida, nos obliga a a tener un sistema de metadatos, que sí guarde esta información. | |
--no-group | Para evitar el uso del grupo del propietario del fichero | |
--no-owner | Para evitar actualizar el propietario del fichero |
Aviso
Esta documentación y su contenido, no implica que funcione en tu caso o determinados casos. También implica que tienes conocimientos sobre lo que trata, y que en cualquier caso tienes copias de seguridad. El contenido el contenido se entrega, tal y como está, sin que ello implique ningún obligación ni responsabilidad por parte de Castris
Si necesitas soporte profesional puedes contratar con Castris soporte profesional.