Problemas comunes III: respaldos a distancia con rsync

Aunque existen numerosas herramientas de Escritorio para respaldar y sincronizar archivos en distintas máquinas, ninguno me ha gustado funcionado correctamente. Por lo mismo, prefiero usar el terminal y rsync. Una forma fácil de entender y comenzar con este comando es la siguiente:

serumax@bunbury:~$ comando -opciones /carpeta-o-archivo/origen /carpeta-o-archivo/destino

Es importante destacar que cuando se trata de carpetas  las rutas de origen y destino no se comportan de igual forma si se usa o no un salsh (/) final. De esta forma, si el ejemplo anterior fuese real, tendríamos como resultado la carpeta “destino” ahora contiene una llamada “origen”

Veamos entonces algo más concreto. Pongamos por caso que necesitamos respaldar todos los archivos de la carpeta /var/www/sitio1 en una carpeta de igual nombre pero en otra máquina. Para esto tenemos dos opciones:

Opción 1
rsync -avz /var/www/sitio1 usuario@192.168.0.1:/var/www

Opción 2
rsync -avz /var/www/sitio1/ usuario@192.168.0.1:/var/www/sitio1/

Como pueden observar, para indicar donde respaldaremos los archivos debemos escribir el usuario y la ip de la máquina de destino usuario@192.168.0.1, seguido de los “:” y de la ruta /var/www/sitio1/, esto nos permitirá autenticarnos en la máquina remota tal como lo hacemos con ssh. Para conocer el resto de las opciones de rsync podemos recurrir a man rsync, no obstante, en el ejemplo hemos usado -avc, que significa que respaldaremos la carpeta de froma recursiva en mdo verboso (con salida por pantalla) y con compresión.

Finalmente, para evitar que nos pregunte la password -por ejemplo para programar un crontab- podemas crear un certificado DSA.

Post relacionados

Claves DSA para conectarse por ssh sin contraseña

Terminal terminator ubuntu linux

[ad#co-1]

Cada vez administro más servidores Linux (ayer se sumaron dos más ubicados en Chicago), por lo que suelo conectarme todo el tiempo por SSH y, obvio, tengo teclear las contraseñas cada vez me conecto a una máquina, algo que realmente se ha vuelto tedioso. Por suerte se puede configurar SSH para que utilice certificados o claves DSA, de tal forma podremos autenticarnos automáticamente en el servidor.

Entonces generaremos las claves DSA usando el protocolo 2, que es el protocolo utilizado y recomendado hoy por hoy. Una de las claves generadas será la “clave privada” que quedará guardada en nuestra máquina y opcionalmente podrá ser protegida con una contraseña.  La otra será la “clave pública” que es la que transferiremos al servidor remoto.

Para generar estas claves utilizamos el comando ssh-keygen:

traveler@talita:~$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/traveler/.ssh/id_dsa):
Created directory ‘/home/traveler/.ssh’.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/traveler/.ssh/id_dsa.
Your public key has been saved in /home/traveler/.ssh/id_dsa.pub.
The key fingerprint is:
b4:23:82:5a:19:5b:6f:f3:78:31:fb:f8:45:0b:ed:8f traveler@talita

En la pregunta “Enter file in which to save the key…” hagan enter para que tome el valor predeterminado, lo mismo pueden hacer cuando se les pregunte por la contraseña si no quieren proteger la clave privada con una password.
Continue reading Claves DSA para conectarse por ssh sin contraseña