USO DE rsync PARA HACER COPIAS DE SEGURIDAD.



RSYNC es una utilidad libre (GPL) que se caracteriza por su capacidad de sincronizar árboles de ficheros a través de la red aunque también funciona en una sola máquina. Si estamos utilizando un sistema GN/Linux la tendremos ya instalada en el ordenador.

En nuestro caso vamos a poner en marcha un sistema de copias de seguridad por red que se sincronice diariamente de forma automática. También generaremos un script para hacer una copia manual en un dispositivo extraible mensualmente.

Para ello vamos a instalar un equipo con Debian o Ubuntu en la que vamos a montar un directorio donde recogeremos los ficheros de las copias de seguridad diarias.

El planteamiento que hacemos a continuación supone que tenemos instalados rsync, openssh y cron. También suponemos que todas las configuraciones las realizaremos sobre la máquina en la que se copiarán los ficheros a sincronizar.

A modo de resumen lo que pretendemos es copiar los ficheros que están en /remote/dir/ del remotehost al directorio /this/dir/ del thishost de manera automática.

El comando básico que habría que utilizar en la máquina local sería el siguiente:
$ rsync -avz -e ssh remoteuser@remotehost:/remote/dir /this/dir/
Al ejecutar este comando se nos pedirá la clave de remoteuser en remotehost.

Deberemos asegurarnos de que remoteuser tiene permisos de lectura en /remote/dir y que el usuario que ha inicado la sesión local tiene permisos de escritura en /this/dir/ .

Las opciones utilizadas realizan lo siguiente:
  • a: la transferencia se realizará en modo archivo lo que asegura que los enlaces simbólicos, los atributos, permisos, etc. se mantendrán en la transferencia.
  • v: modo "parlanchín".
  • z: comprime los datos durante la transferencia.
  • e: nos indica que para conectarse a la máquina remota utilizaremos el protocolo ssh.

Por otra parte hay que distinguir muy bien el uso de la barra (/) al final del directorio origen ya que es distinto el resultado si la ponemos o si no la ponemos. Supongamos que tenemos dos directorios a y b con el fichero prueba dentro del directorio a, entonces el comando:
rsync -a a b
produce b/a/prueba, mientras que el comando:
rsync -a a/ b
produce b/prueba.

AUTOMATIZACIÓN DEL PROCEDIMIENTO.



Para automatizar el procesos de copias de seguridad deberemos configurar por lo menos dos cosas:

REFERENCIAS.