Rsync sobre SSH

La combinación de rsync y ssh es un método muy eficiente y seguro para mover y respaldar datos.


En muchos de nuestros proyectos, usamos rsync over ssh para mover datos de una máquina a otra. El uso más común es de la copia de seguridad de datos. Sin embargo, lo hemos utilizado para sincronizar datos entre servidores y realizar un seguimiento de los archivos de registro.

Rsync es la utilidad que copiará archivos de una máquina a otra. Además, rsync determinará si necesita copiar todo el archivo o solo los cambios. Esto hace que rsync sea muy rápido en transferencias posteriores.

Este tutorial se armó utilizando el paquete rsync de Cygwin en una máquina con Microsoft Windows XP. Su sintaxis puede ser ligeramente diferente en otras plataformas.

El siguiente comando copiará el dirname Directorio y su contenido a la máquina remota, en la ruta especificada:

rsync -avz -e ssh dirname [correo electrónico protegido]: / desired / ruta

Un poco modificado, el comando establecerá una conexión ssh para "primer host", luego ejecutará rsync sobre SSH para "segundo host", y finalmente copiarádirname al camino deseado:

ssh [correo electrónico protegido] rsync -avz -e ssh dirname [correo electrónico protegido]: / desired / ruta

Cuando se combina con la autenticación de clave pública SSH, es posible automatizar (cron) las copias de seguridad a través de la conexión segura SSH sin una contraseña.

NOTA: Los parámetros rsync se definen de la siguiente manera:

  • a = archivo
  • v = verbosa
  • z = comprimir los datos del archivo
  • e = especifica el shell remoto para usar