Ver destacados

Backup Linux: Cómo instalar, configurar y usar Rsnapshot

Tutorial donde explico todos los pasos para conocer cómo instalar, configurar y usar Rsnapshot en sistemas Linux.
Escrito por
11.9K Visitas  |  Publicado jun 24 2016 09:50
Favorito
Compartir
Comparte esta pagina a tus Amigos y Contactos usando las siguientes Redes Sociales


 

Uno de los temas que más nos debe interesar y por ende implementar en nuestras organizaciones es el uso de las copias de seguridad ya que éstas nos permiten tener a salvo y a mano información valiosa de la compañía.
Las copias de seguridad nos brindan tres pilares vitales para el correcto funcionamiento de nuestra infraestructura los cuales son disponibilidad, veracidad y confidencialidad.

 

Pongamos un ejemplo sencillo acerca de la importancia de tener una copia de seguridad, supongamos que a la persona que controla los pagos de nómina tiene una carpeta donde lleva todos los archivos mensuales de pago, esto es importante para temas financieros, legales, etc. Por algún motivo el mes de maro no se realizó el backup y justamente a principios de abril la máquina de esta persona murió, ¿qué pasa en este caso?, como no tenemos un respaldo de la información almacenada del mes de marzo lo más seguro es que esos archivos se perdieron lo que va a implicar exceso de trabajo tanto para la persona de nómina como para nosotros, ahora, si tuviéramos el respaldo de esos archivos de marzo simplemente debíamos abrir la copia de seguridad y restaurar esos archivos, no tarda 15 minutos y todo estará al día y a salvo.

 

Como vemos la buena costumbre de crear copias de seguridad (obviamente de la información más valiosa) es una garantía que siempre tendremos los datos más relevantes a salvo y siempre disponibles para las personas que los necesitan.

 

Existen diversas herramientas para crear las copias de seguridad en nuestros entornos Linux pero en esta ocasión nos vamos a centrar en la herramienta Rsnapshot el cual es una utilidad basada en Rsync y que podemos consultar desde la web:

 

 Rsnapshot Oficial

 

Rsnapshot soporta diversos sistemas operativos como:

  • Arch Linux
  • Debian
  • Fedora
  • Gentoo Linux
  • Ubuntu
  • FreeBSD
  • NetBSD
  • OpenBSD

 

Con Rsnapshot podremos crear copias de seguridad tanto de los equipos locales como de máquinas remotas a través de SSH y podremos guardar nuestras copias de seguridad en otras unidades de disco duro, memorias USB, unidades NFS o a destinos de red usando el SSH.

 

Para este estudio vamos a ver la implementación de Rsnapshot en un entorno de Ubuntu 16.04 LTS y veremos cómo crear copias de seguridad incremental por hora, día, semana o mes. Si tenemos un entorno RHEL o CentOS primero debemos configurar el repositorio EPEL, una vez realizado procedemos a instalar Rsnapshot usando el comando:

yum install rsnapshot
Para entornos Ubuntu o Debian usaremos el comando:
apt-get install rsnapshot

 

Esperaremos que los paquetes sean descargados e instalados. Si deseamos crear copias de seguridad para servidores remotos debemos configurar SSH sin contraseña, para esto debemos crear un SSH público y una llave privada para el respectivo acceso. Vamos a generar estas llaves usando el siguiente comando:

sudo ssh-keygen -t rsa

 

Debemos pulsar Enter en la opción Enter passphrase para que la llave sea creada sin contraseña. A continuación vamos a transferir esta llave a la máquina para que ésta reconozca nuestros datos. Usaremos el siguiente comando:

sudo ssh-copy-id -i /root/.ssh/id_rsa.pub root@ejemplo.com
Donde ejemplo.com es la IP o dominio de nuestra máquina, podemos obtener la IP usando el comando ifconfig, en nuestro caso es 192.168.0.13 por lo cual el comando ingresado es:
sudo ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.0.13
A continuación vamos a configurar nuestro Rsnapshot en el Sistema Ubuntu, para ello ingresaremos al archive de configuración de Rsnapshot usando el comando:
vi /etc/rsnapshot.conf
Veremos lo siguiente:

 

 

Ahora vamos a crear un directorio donde se almacenarán las copias de seguridad que creemos, para ello en el archivo abierto vamos a editar los siguientes parámetros.
Vamos crear el directorio llamado backup:

snapshot_root /backup/
Posteriormente ubicaremos la línea # cmd_ssh /usr/bin/ssh y vamos a borrar el símbolo # para permitir la conexión remota por SSH.

 

Podremos ver los intervalos de las copias de seguridad según un orden establecido, podemos buscar la línea

Backup Levels /Intervals
y veremos lo siguiente:

 

 

En este caso los valores son:

  • Alpha: hora
  • Beta: Diario
  • Gamma: Semanal
  • Delta: Mensual

 

En este caso según el orden ascendente nuestra prioridad será la copia mensual (valor 3) si deseamos otro valor simplemente lo modificamos. Vamos a editar la línea ssh_args -p 22 en la cual se especifica el puerto por el cual se hará la conexión remota, para ello debemos saber que puerto será y simplemente editarlo.

 

Si deseamos crear las copias de seguridad en la misma máquina de origen debemos validar las siguientes líneas tanto del home como del etc.

backup /home/localhost/
backup /etc/localhost/
Una vez configurados estos parámetros guardaremos los cambios usando Ctrl + O y salimos del editor usando Ctrl + X.

 

Algunos de los principales valores son:

  • config_version 1.2 = Es la versión del archivo de configuración
  • snapshot_root = Implica la copia de seguridad para almacenar las instantáneas
  • cmd_cp = Es la ruta para copiar un comando
  • cmd_rm = Es la ruta para remover un comando
  • cmd_rsync = Es la ruta a rsync
  • cmd_ssh = Es la ruta a SSH
  • cmd_logger = Es la ruta para la interfaz de comandos Shell para el syslog
  • cmd_du = Es la ruta al comando para el uso del disco
  • interval hourly = Permite establecer los valores de copias por hora
  • interval daily = Permite establecer los valores de copias por día
  • interval weekly = Permite establecer los valores de copias semanal
  • interval monthly = Permite establecer los valores de copia mensual
  • ssh_args = Son los argumentos opcionales de SSH
  • verbose = Autoexplicativo
  • loglevel = Autoexplicativo
  • logfile = Implica la ruta al logfile
  • exclude_file = Con esta opción podemos excluir archivos de la copia de seguridad

 

Vamos a probar la configuración de nuestro Rsnapshot para ello usaremos el comando:

sudo rsnapshot configtest
Si la configuración es correcta debemos ver el mensaje:
Syntax OK
Vamos a realizar una prueba de como funciona Rsnapshot, para ello vamos a crear una copia por hora, recordemos que podemos configurar por semana o por mes. Usemos el siguiente comando:
sudo rsnapshot -t Alpha  o Hourly
En caso que figure así en el entorno.

 

 

Veremos que se han creado las copias. Manualmente podemos generar las copias usando el comando:

rsnapshot daily
Debemos reemplazar daily por el valor necesario.

 

Para programar las copias de seguridad de manera automática vamos a ingresar en la siguiente ruta:

sudo nano /etc/cron.d/rsnapshot
Podremos ver los siguientes valores:

 

 

Con estos parámetros se realizarán las siguientes tareas:

  • La copia se ejecuta cada 4 horas y crea un directorio por hora en el directorio que hayamos creado.
  • Funciona todos los días a las 3:30 am y crear un directorio todos los días en el directorio Crea copias semanales todos los lunes a las 3:00 am y crear un directorio semanal en el directorio que hayamos creado.
  • Se ejecuta cada mes a las 2:30 am y crear un directorio mensual en el directorio que hayamos creado.

 

Como vemos con Rsnapshot tenemos a mano una herramienta poderosa e interesante para crear nuestras copias de seguridad según la necesidad que tengamos.

¿Te ayudó este Tutorial?

Ayuda a mejorar este Tutorial!
¿Quieres ayudarnos a mejorar este tutorial más? Puedes enviar tu Revisión con los cambios que considere útiles. Ya hay 0 usuario que han contribuido en este tutorial al enviar sus Revisiones. ¡Puedes ser el próximo!