Backups

Cuestiones sobre backups, tips con rsync, etc.

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.