Copias de seguridad con rsnapshot por medio de ssh

Rsnapshot dos servidores ubuntu

Esquema realizado con el editor de diagramas DIA. Las imágenes de los servidores son de openclipart.

Rsnapshot backups en Gnu/Linux. (1/3)
Rsnapshot backups en Gnu/Linux. (2/3)
Rsnapshot backups en Gnu/Linux. (3/3)

En este articulo hablaremos de como realizar copias de seguridad incrementales y automatizadas con rsnapshot por medio del protocolo ssh.

Escenario

Servidor1 del cual queremos realizar copias de varias carpetas dentro del servidor2.

Servidor1

Hostname : Servidor1
Sistema operativo : Ubuntu server 12.04
IP 192.168.1.235

Carpetas a salvar:
/home/
/etc/
/var/log/

Copias a salvar: Copias todos los días se almacenan los últimos 7 días
Copias cada semana se almacenan las últimas 4 semanas
Copias al mes se almacenan los últimos seis meses
Copias al año se almacenan los últimos 5 años

Usuario con permiso de acceso a las carpetas a salvar
Usuario: user1
Password: user1pass

Servidor2

Hostname : Servidor2
Sistema operativo : Ubuntu server 12.04
IP 192.168.1.230
Carpeta para copias de seguridad: /backups/

Configurar ssh para logueo por llave publica.

Instalar servidor SSH en el Servidor1 y el Servidor2

Instalamos el servidor ssh para el servidor2 de backups pueda loguearse para coger los archivos a salvar.

En el servidor1:

 user1@servidor1$ sudo apt-get install openssh-server

 

En el servidor2:

 user2@servidor2$ sudo apt-get install openssh-server

 

Generamos las llaves en el servidor2 para el usuario que realizara las copias de seguridad.

user2@servidor2$ ssh-keygen 
 Generating public/private rsa key pair.  Enter file in which to save the key (/home/user2/.ssh/id_rsa):  Created directory '/home/user2/.ssh'.  Enter passphrase (empty for no passphrase):  Enter same passphrase again:  Your identification has been saved in /home/user2/.ssh/id_rsa.  Your public key has been saved in /home/user2/.ssh/id_rsa.pub.  The key fingerprint is:  75:0a:64:2e:16:d9:53:25:80:f7:f0:74:a0:ff:e6:e2 user2@servidor 2 The key's randomart image is:  +--[ RSA 2048]----+  | .++o+o. |  | o==.... |  | o.+*... |  | . . +oo |  | S o |  | . |  | o |  | .o |  | .E.. |  +-----------------+

Pulsamos enter en todas las preguntas es recomendable no poner passphrase para que no pida la clave en cada conexión.

El comando crea dos llaves

Llave Privada en: /home/user2/.ssh/id_rsa

Llave Pública en: /home/user2/.ssh/id_rsa.pub

 

Copiamos la llave publica desde el servidor2 en el servidor1.

user2@servidor2$ ssh-copy-id -i /home/user2/.ssh/id_rsa.pub user1@192.168.0.235
The authenticity of host '192.168.0.235 (192.168.0.235)' can't be established.
ECDSA key fingerprint is 27:51:45:35:8b:97:2d:b6:60:1e:8d:55:c0:2b:24:45.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.0.235' (ECDSA) to the list of known hosts.
user1@192.168.1.235's password:

 

Nos pide el password de user1 en servidor1 y se lo ponemos.

 
 Now try logging into the machine, with "ssh 'user1@192.168.1.235'", and check in:
 ~/.ssh/authorized_keys
 to make sure we haven't added extra keys that you weren't expecting.

Comprobamos que loguea automaticamente creando una conexión ssh

user2@servidor2$ ssh user1@192.168.0.235

Si loguea correctamente sin pedir la clave todo estará correcto.

Podemos realizar esta operación con todos los equipos que queramos salvar.

Configuración de rsnapshot en el servidor2 para la copia de seguridad remota.

Todas las configuraciones se realizan en el servidor2 exactamente igual que en el manual de rsnapshot en local solo cambiara la sección backup donde pondremos la siguientes lineas. Ponemos servidor1 para que guarde las copias de este equipo en una carpeta llamada /backup/servidor1/

$ sudo nano /etc/cron.d/rsnapshot
backup user1@192.168.1.235:/home/ servidor1/
backup user1@192.168.1.235:/etc/ servidor1/
backup user1@192.168.1.235:/var/log/ servidor1/

En esta sección podríamos añadir los datos de todos aquellos equipos de los que queremos realizar la copia de seguridad.

Para comprobar la correcta configuración de rsnapshot ejecutamos la siguiente orden

user2@servidor2$ sudo rsnapshot configtest 
Syntax OK

Cuando devuelve Syntax OK es que la configuración es correcta.

Comprobamos que funciona realizando la primera copia de seguridad con el comando.

user2@servidor2$ sudo rsnapshot daily

 

Comprobamos que se crea la carpeta /backup/daily.0/servidor1/ que contiene las carpetas home, etc y var/log que queriamos salvar.

user2@servidor2$ sudo ls -la /backup/daily.0/localhost

Espero que os gustado estos manuales para realizar copias de seguridad en linux

Cualquier comentario que reciba será bienvenido muchas gracias por leer este artículo.

Rsnapshot backups en Gnu/Linux. (1/3)
Rsnapshot backups en Gnu/Linux. (2/3)
Rsnapshot backups en Gnu/Linux. (3/3)

Para crear este articulo me base en información de estas páginas.

http://www.switchroot.com/como-configurar-respaldos-automatizados-con-rsnapshot

http://www.switchroot.com/how-to-configure-key-based-ssh-authentication

http://www.eslomas.com/2012/12/copias-de-seguridad-en-ubuntu-con-rsnapshot/

http://www.rsnapshot.org/