Realizar copias de seguridad con Rsync

En un sistema de administración de recursos compartidos como es nuestro servidor de archivos NAS4Free es importante mantener la integridad de los datos que crean y manejan los usuarios, haciendose necesaria la implantación de políticas de seguridad por medio de la creación de copias programadas de los datos que se comparten.

07-Jun-2016

Servicio Rsync

Rsync

Rsync (Remote Sync, es decir “sincronización remota”) es una herramienta utilizada para copiar y sincronizar archivos y directorios entre sistemas Linux/Unix remotos o locales, aunque también está disponible para realizar sincronizaciones entre sistemas remotos Linux/Windows. Con la ayuda de rsync, podemos fácilmente copiar/sincronizar datos entre directorios locales y remotos, a través de distintas unidades y redes, e incluso podemos respaldar archivos y hacer prácticamente cualquier cosa que involucre el copiado de datos.

Rsync es un servicio que nos permite copiar estructuras de directorios, o archivos individuales de un sitio en otro sitio diferente, minimizando la transferencia de datos. Rsync crea una imagen exacta de los datos de origen en destino, por medio de la sincronización de ficheros similares.

Cuando sincroniza estructuras de directorios, copiará la estructura completa la primera vez que se realice la copia, el resto de las sincronizaciones sólo copiará del origen lo que haya cambiado con respecto al destino.

Modos de trabajo

Rsync puede trabajar como servidor, cliente o en modo local.

MODO SERVIDOR: creando los llamados módulos donde se establecen las propiedades acerca de los directorios que se pueden sincronizar, máximas conexiones permitidas, usuarios y equipos autorizados, etc... permite a otros equipos de la red (clientes rsync) ya sean Linux o Windows, conectarse para realizar sincronizaciones.

Rsync en modo SERVIDOR

MODO CLIENTE: conectándose a los módulos de otros equipos donde se está ejecutando rsync en modo servidor, nos permite centralizar la sincronización de datos de cada equipo.

Rsync en modo CLIENTE

MODO LOCAL: utilizado para realizar sincronizaciones de datos locales del servidor. (Este será el modo de trabajo que utilizaremos para realizar las copias de seguridad de nuestros recursos compartidos)

Rsync en modo LOCAL

Rsync en modo local

Este modo del servicio rsync nos permite realizar copias locales de los recursos compartidos publicados en nuestro servidor. Con este modo conseguiremos programar tareas de copias desatendidas de los documentos de trabajo de todos los clientes que utilizan los recursos compartidos.

Debido a que las copias las vamos a realizar dentro del mismo servidor de almacenamiento donde se localizan los recursos compartidos, será de vital importancia que estas copias se realicen en un disco distinto al que contiene los recursos. Una buena opción es realizar estas copias en un disco externo de gran capacidad.

Añadir tareas locales de sincronización

Para añadir una nueva tarea de sincronización local, accederemos al menú Servicios->Rsync y luego pulsaremos sobre la etiqueta ‘Local’, para mostrar el listado de las tareas locales que existan en nuestro servidor.

Lista de servicios locales de Rsync

Para añadir una nueva tarea de sincronización al sistema, pulsamos sobre el botón ‘Añadir tarea Rsync’ y rellenamos el formulario de alta.

Añadir nuevo servicio LOCAL

Elemento compartido de origen: Indica la ruta de acceso al directorio que deseamos sincronizar, es decir; del que deseamos realizar la copia de seguridad.

Elemento compartido de destino: indica la ruta de acceso al directorio donde se realizará la copia sincronizada del elemento de origen.

Quien: usuario con el que se realizará la sincronización. Por lo general es el usuario ‘root’ el encargado de lanzar el trabajo, ya que tiene permisos sobre todos los recursos. Si no utilizamos el usuario root, tendremos que indicar algún usuario que tenga permisos sobre el directorio de origen.

Tiempo de sincronización: utilizando las cuatro listas, tenemos que indicar la hora (hh:mm) y las fechas (día y mes o mes y día de la semana) en las que deseamos que se lleve a cabo la sincronización de datos.

  • Minutos: minuto en el que lanzar la copia. Si dejamos marcada la opción ‘Todos’ se tiene que indicar un valor en la lista Horas, asumiéndose que el valor de Minutos será 0.
  • Horas: hora a la que lanzar el trabajo. Si dejamos marcada la opción ‘Todos’ se asume que se realizará a las 00 horas. Si se marca un valor para Minutos, pero no para Horas, se realizará cada hora a los Minutos establecidos.
  • Días: indica el nº de día del mes en el que lanzar el trabajo. Si no seleccionamos ningún valor se asume que es todos los días del mes.
  • Mes: indica que meses del año deseamos lanzar el trabajo. Si no seleccionamos ninguno se asume que son todos los meses.

Días de la semana: indica que día de la semana queremos que se ejecute la sincronización. Si no seleccionamos ninguno se asume que son todos los días de la semana. Si seleccionamos valores en la lista Días y Días de la semana y se da el caso de que el valor del Día no se corresponde con ninguno de los valores marcados en la lista Días de la semana, el trabajo no se lanzará.

Ejp: Supongamos que nuestro horario de trabajo es de 08:00 a 20:00 de Lunes a Viernes y que en el mes de Agosto no hay actividad en la oficina. Podríamos realizar una copia todas las noches a la 01:00, para que se guarden todos los datos de trabajo de la semana, todos los meses del año, excepto el mes de Agosto.
Minutos (0), Horas (1), Días (Todos), Mes (Todos excepto Agosto), Días de la semana (de martes a sábado).

Descripción: breve descripción acerca de la tarea que vamos a crear.

Recursivo: marcaremos esta opción si el elemento de origen contiene subdirectorios y deseamos que se realice la sincronización de toda la estructura.

Veces: preservar tiempos de modificación de archivos.

Comprimir: recomendada en conexiones lentas ya que se reduce el tamaño de los datos a transmitir. El uso de esta opción puede ser beneficioso o perjudicial, ya que la menor transferencia de datos redunda en un mayor consumo de CPU. (No se utiliza cuando rsync trabaja con actualizaciones locales)

Archivo: mantiene propietarios y permisos de los archivos/directorios que se sincronizan.

Borrar: elimina los ficheros de la copia almacenada en el elemento de destino que no existen en el elemento de origen.

Algoritmo de borrado: soló se mostrará si hemos activado la opción ‘Borrar’. Permite seleccionar el modo en el que se eliminarán los archivos de destino.

Silencio: anulamos cualquier mensaje que se produzca que no sea de error.

Conservar permisos: esta opción hace que rsync de los mismos permisos a los destinos que los permisos de origen. (Sólo se utiliza si rsync actúa como servidor de actualizaciones).

Conservar atributos extendidos: rsync actualizará los atributos extendidos de los elementos  remotos para que coincidan con los elementos locales. (Sólo se utiliza si rsync actúa como servidor de actualizaciones).

Opciones extras: nos permite indicar opciones adicionales de rsync. Normalmente se encuentra vacío.

Programar nuestras copias de seguridad

Sincronizar los recursos compartidos

¿Cuántas?

Tendremos que crear una tarea de sincronización por separado para cada uno de los recursos compartidos que publicamos en nuestro servidor, de tal manera que hay que crearemos cuatro tareas locales, una para el punto de montaje ‘administracion’, otra para ‘administrativos’, otra para ‘colegiados’ y otra para ‘publico’.

¿Dónde?

Para realizar las copias de seguridad de nuestro servidor, vamos a utilizar el punto de montaje sata3 que creamos el módulo dedicado a la “Administración de Discos del Servidor”. Al ser un disco distinto al que se utiliza para publicar los recursos ‘hdraid’, nos aseguramos que las copias se realizarán en un disco distinto al que contiene los datos de los usuarios.

En sata3 y ayudándonos del “Gestor de Archivos”, vamos a crear carpetas que almacenen por separado las copias de cada uno de los puntos de montaje, cuya estructura será la siguiente:

Estructura directorios para las copias de seguridad

¿Cuándo?

Estas tareas, las programaremos para que se realicen en horas donde no se este trabajando en el despacho, para que no se interfiera con el uso que realizan a diario los usuarios de la red. Las ejecutaremos a partir de las 01:00 horas todos los días de martes a sábado para que se haga una copia de los documentos generados durante el día. Cada una de las sincronizaciones llevará un retardo de 30 minutos con respecto a la anterior, es decir la primera se ejecutara a las 01:00, la segunda  a las 01:30, la tercera a las 02:00 y la cuarta a las 02:30.

Opciones comunes:

Todas las tareas las realizaremos utilizando como usuario ‘root’, lo que nos permite acceder a los recursos de cualquier usuario y grupo del sistema.

En cuanto a las opciones avanzadas de cada tarea, utilizaremos las mismas para todas:

  • Recursivo: activado
  • Veces: activado
  • Comprimir: desactivado (al ser en modo local, no vamos a transferir datos entre equipos)
  • Archivo: activado
  • Borrar: activado
  • Algoritmo de borrado: por defecto
  • Silencio: activado
  • Conservar permisos: activado
  • Conservar atributos extendidos: activado

Configuración de cada una de las tareas

RECURSO COMPARTIDO DEL GRUPO ADMINISTRACION

  • Origen: /mnt/hdraid/administracion
  • Destino: /mnt/sata3/backups/administracion
  • Tiempo: 01:00 todos los días, todos los meses excepto agosto, días de la semana: martes, miercoles, jueves, viernes y sábado.
  • Descripción: Backup del recurso del grupo administracion
Rsync local para el grupo administracion

RECURSO COMPARTIDO DEL GRUPO ADMINISTRATIVOS

  • Origen: /mnt/hdraid/administrativos
  • Destino: /mnt/sata3/backups/administrativos
  • Tiempo: 01:30 todos los días, todos los meses excepto agosto, días de la semana: martes, miercoles, jueves, viernes y sábado.
  • Descripción: Backup del recurso del grupo administrativos
Rsync local para el grupo administrativos

RECURSO COMPARTIDO DEL GRUPO COLEGIADOS

  • Origen: /mnt/hdraid/colegiados
  • Destino: /mnt/sata3/backups/colegiados
  • Tiempo: 02:00 todos los días, todos los meses excepto agosto, días de la semana: martes, miercoles, jueves, viernes y sábado.
  • Descripción: Backup del recurso del grupo colegiados
Rsync local para el grupo colegiados

RECURSO COMPARTIDO DEL GRUPO PUBLICO

  • Origen: /mnt/hdraid/publico
  • Destino: /mnt/sata3/backups/publico
  • Tiempo: 02:30 todos los días, todos los meses excepto agosto, días de la semana: martes, miercoles, jueves, viernes y sábado.
  • Descripción: Backup del recurso del grupo publico
Rsync local para el grupo publico

Una vez añadidos todas las tareas de sincronización tendremos un listado de los servicios rsync locales como el que se muestra a continuación:

Lista de servicios Rsync Locales

Comprobar los registros de sincronización

Registros del sistema

Cada vez que se ejecuta el servicio rsync para realizar una tarea de sincronización, el sistema genera un log con todo lo sucedido durante el proceso.

En este registro, podemos comprobar cuando se ha ejecutado, si el proceso se ha realizado con éxito y que ficheros han sido sincronizados o si se ha producido algún error durante la tarea.

Para acceder al registro log del sistema, iremos al menú Diagnóstico -> Registro log y seleccionaremos de la lista desplegable de registros el valor ‘Local Rsync’. Se filtrará el listado de registros para mostrarnos sólo los que se han producido durante las sincronizaciones locales de Rsync.

Registro log Rsync Local