rsync, ssh, cron: mantener la sincronización entre equipos
Una preocupación constante es perder la información almacenada en las computadoras (codigo, documentos, etc) por diversos motivos: daños de los equipos, robos, vandalismo no intencionado (conocido como estupidez propia o ajena). Cualquier cosa puede pasar y seguro que pasará cuando no tenemos respaldo o si lo tenemos está lo suficientemente desactualizado para ser de utilidad.
En Linux (muy probable en windows) la solución perfecta se optiene combinando SSH, RSYNC y CRON.
[En windows se puede usar una versión cygwin de rsync que funciona muy bien]
Lo primero será instalar estas tres piezas de software,
en Debian, la parte fácil:
apt-get install ssh cron rsync
Para evitar que los extremos se pregunten por password debemos compartir la llave pública entre el equipo de destino y el equipo de origen.
Una vez se puede comprobar que se puede establecer una conexión ssh con el otro equipo:
ssh usuario@el_otro_equipo, sin necesidad de claves sabemos que todo está funcionando bien hasta aquí.
Lo demás es la parte fácil, decidir que vamos a sincronizar o respaldar :
#!/bin/bash
echo "sincronizando equipos"
rsync -ar -e ssh --delete usuario@el_otro_equipo:/usr/local/lib/site-python/ /usr/local/lib/site-python/
rsync -ar -e ssh --delete usuario@el_otro_equipo:/home/usurio/sistemas/ /home/usuario/sistemas/
rsync -ar -e ssh --delete usuario@el_otro_equipo:/home/usuario/AAA_TRABAJO/ /home/usuario/AAA_TRABAJO/
Al final podemos automatizar la sincronización haciendo uso del CRON.
En Debian como en toda distribución de Linux encontramos el directorio /etc/cron.daily y otros más similares. Podemos copiar nuestro script en este directorio o hacer un link simbolico al mismo.
rsync solo transmite aquellos archivos que hayan cambiado.
En Linux (muy probable en windows) la solución perfecta se optiene combinando SSH, RSYNC y CRON.
[En windows se puede usar una versión cygwin de rsync que funciona muy bien]
Lo primero será instalar estas tres piezas de software,
en Debian, la parte fácil:
apt-get install ssh cron rsync
Para evitar que los extremos se pregunten por password debemos compartir la llave pública entre el equipo de destino y el equipo de origen.
- Generar la llave pública y privada en cada equipo ejecutando con el usuario adecuado: ssh-keygen -t rsa (pide un password, dejarlo en blanco)
- En el equipo que va a ejecutar el script copiar la llave pública del otro:
cd .ssh
ssh-copy-id -i id_rsa.pub usuario@el_otro_equipo
Una vez se puede comprobar que se puede establecer una conexión ssh con el otro equipo:
ssh usuario@el_otro_equipo, sin necesidad de claves sabemos que todo está funcionando bien hasta aquí.
Lo demás es la parte fácil, decidir que vamos a sincronizar o respaldar :
#!/bin/bash
echo "sincronizando equipos"
rsync -ar -e ssh --delete usuario@el_otro_equipo:/usr/local/lib/site-python/ /usr/local/lib/site-python/
rsync -ar -e ssh --delete usuario@el_otro_equipo:/home/usurio/sistemas/ /home/usuario/sistemas/
rsync -ar -e ssh --delete usuario@el_otro_equipo:/home/usuario/AAA_TRABAJO/ /home/usuario/AAA_TRABAJO/
Al final podemos automatizar la sincronización haciendo uso del CRON.
En Debian como en toda distribución de Linux encontramos el directorio /etc/cron.daily y otros más similares. Podemos copiar nuestro script en este directorio o hacer un link simbolico al mismo.
rsync solo transmite aquellos archivos que hayan cambiado.
0 Comments:
Publicar un comentario
<< Home