Advertising





jueves, 14 de abril de 2011

Sincronización con Rsync y SSH

     Si queremos hacer una sincronización con rsync usando ssh para proteger nuestros datos, usamos el comando:

     Desde un directorio remoto a un directorio local:
     rsync -avz -e ssh usuario@ip-remota:/directorio/remoto /directorio/local

     Desde un directorio local a un directorio remoto:
     rsync -avz -e ssh /directorio/local usuario@ip-remota:/directorio/remoto

     Desde un directorio local a otro directorio local:
     rsync -avz -e ssh /directorio/local1 /directorio/local2

     Las opciones:

     -a: Usar recursividad manteniendo los permisos.
     -v: Mostrar los archivos o directorios que va pasando.
     -z: Comprimir los datos para que la transferencia sea más rápida.
     -e ssh: Utilzar ssh.
     --delete: Borra los datos en el directorio o archivo destino antes de pasar los nuevos.


     Cada vez que ejecutemos rsync con ssh, nos va a pedir la clave del host remoto. Esto no nos va a servir si queremos colocar un proceso en Cron para que se ejecute automátimente. Así que automatizamos el logeo.

     Generamos la claves RSA pública y privada:

         ssh-keygen

     Cuando nos pida el Passphrase (password, clave), sólo le damos a enter. Con esto se crean dos archivos:

         /home/usuario/.ssh/id_rsa (clave privada)
         /home/usuario/.ssh/id_rsa.pub (clave pública)

     Ahora copiamos la clave pública generada (/home/usuario/.ssh/id_rsa.pub) al usuario host remoto con el que nos vamos a conectar. Si el usuario en el host remoto es debian, entonces copiamos el archivo a /home/debian/.ssh/id_rsa.pub. Suponiendo que el host remote es 192.168.0.2, probamos la conexión:

          ssh debian@192.168.0.2

    Si no nos pide passphrase, entonces ya podemos automatizar la replicación con Cron. Ejecutamos crontab -e y agregamos una de estas líneas según nuestra conveniencia:

   #Hace una sincronización los lunes a la 1:00 am
   0 1 * * 1 rsync -avz -e ssh debian@192.168.0.2:/directorio/remoto /directorio/local

   #Hace una sincronización los domingos, martes, miercoles, jueves, viernes y bados
   0 1 * * 0,2-6 rsync -avz -e ssh debian@192.168.0.2:/directorio/remoto /directorio/local

   #Hace una sincronización todos los días
   0 0 * * * rsync -avz -e ssh debian@192.168.0.2:/directorio/remoto /directorio/local

No hay comentarios:

Publicar un comentario

Importante reflexión de Richard Stallman sobre la IA, sobre todo en la Vigilancia Masiva que ejecuta la IA

Importante reflexión de Richard Stallman sobre la IA, sobre todo en la Vigilancia Masiva que ejecuta la IA. Richard Stallman, fundador del m...