Backups con Backupninja en Debian.
Juan Pablo Romero
Software EngineerBackupninja es un sistema para facilitar la gestión de copias de seguridad locales o remotas, completas o incrementales. Su configuración es bastante sencilla y permite trabajar con programas como rsync, rdiff-backup y duplicity entre otros.
Para instalar backupninja basta con:
apt-get install backupninja hwinfo debconf-utils
Una vez instalado procedemos a revisar su archivo de configuración ubicado en /etc/backupninja.conf donde podremos especificar algunas directivas como:
Nivel de log.
loglevel = 4
El correo de destino a donde llegaran los reportes especificados.
reportemail = root
Reportar cuando el el backup ha sido exitoso.
reportsuccess = yes
Reportar cuando hay advertencias en la ejecución del backup.
reportwarning = yes
Programamos cuando se ejecutarán los backups.
when = everyday at 01:00
También se ha creado el directorio /etc/backup.d/ que contentrá los ficheros de configuración de cada uno de los backups programados cuya extensión hace referencia al tipo de programa usado para ejecutarlo. Por ejemplo:
- .dup: Para los backups encriptados con Duplicity.
- .rdiff: Para los backups ejecutados con rdiff-backup.
- .mysql: Para dump o hotcopy en MySQL.
Existe un asistente bastante útil para crear la estructura inicial de los backups que deseamos programar, lo ejecutamos con el siguiente comando:
# ninjahelper
El asistente debe similar al de la siguiente imágen:
Para el ejemplo, vamos a crear una entrada que nos permita hacer un backup de una máquina remota con rdiff-backup. Usamos entonces la opción "new" y en el siguiente menú la opción "rdiff", donde el asistente solicitará los datos para configurar nuestra copia de seguridad.
Dentro de los pasos que sigue el asistente se encuentra la creación y ubicación de llaves DSA para conectarnos por ssh a la máquina remota. Si todo ha salido bien, nuestro fichero de configuración será creado y almacenado en /etc/backup.d con su respectiva extensión .rdiff.
Cuando ingresamos a nuestra tarea creada, nos damos cuenta que se puede revisar su configuración actual, editarla, deshabilitarla, cambiar el nombre del archivo, probarla, ejecutarla o sencillamente eliminarla. Por defecto los pasos seguidos nos crean un backup en sentido contrario al que deseamos crear de manera que debemos editar el fichero de configuración para acomodarlo a nuestras necesidades.
Para nuestro ejemplo, el fichero de configuración la sección [source] debería lucir similar a lo siguiente:
[source]
type = remote
host = myhostname.com
user = myremoteusername
.......
include = /path/to/include/
.......
exclude = /path/to/exclude
La sección [dest] luciría similar a lo siguiente:
[dest]
type = local
directory = /path/to/mybackup
Usamos la opción test para probar nuestra configuración y si no hemos recibido errores hacemos uso de la opción run en el asistente para ejecutar nuestra tarea. Revisamos en nuestro directorio destino (/path/to/mybackup/) y encontraremos que allí reside nuestra copia de seguridad.
Backupninja permite ejecutar copias de seguridad con rsync, pero no está contemplado dentro de las opciones de ninjahelper, sin embargo en la aquí podemos descargar una plantilla para configurar nuestro fichero .rsync.
Referencias:
Written by Juan Pablo Romero
Juan Pablo designs and builds robust software solutions with a focus on performance and usability. His problem-solving skills and attention to detail ensure high-quality and efficient applications.