amanda
, bacula
y BackupPC
. Éstos son sistemas cliente/servidor con muchas opciones y cuya configuración es bastante complicada. Algunos proveen una interfaz de usuario amigable para mitigarlo. Sin embargo, como bien puede comprobar con apt-cache search backup
, Debian contiene docenas de paquetes de software de respaldo que cubren todos los casos de uso posibles.
rsync
(en el paquete del mismo nombre) para respaldar estos diferentes servidores.
rsync
es precedido con una duplicación del contenido del respaldo anterior con enlaces duros, lo que evita utilizar demasiado espacio en disco. Luego, el proceso rsync
sólo reemplazará los archivos que fueron modificados desde el último respaldo. Con este mecanismo, pueden mantener una gran cantidad de respaldos en un espacio pequeño. Debido a que todos los respaldos están disponibles inmediatamente (por ejemplo, en diferentes directorios de un recurso compartido en la red) puede realizar comparaciones entre dos fechas rápidamente.
dirvish
. Utiliza un espacio de almacenamiento de respaldo («bank» — banco — en su vocabulario) en el que ubica copias con marcas temporales de conjuntos de archivos de respaldo (estos conjuntos son llamados «vaults» — bóvedas — en la documentación de dirvish).
/etc/dirvish/master.conf
. Define la ubicación del espacio de almacenamiento de respaldos, la lista de «bóvedas» administradas y los valores predeterminados de expiración de los respaldos. El resto de la configuración está ubicada en los archivos banco/bóveda/dirvish/default.conf
y contienen las configuraciones específicas a los conjuntos de archivos correspondientes.
Ejemplo 9.3. EL archivo /etc/dirvish/master.conf
bank: /backup exclude: lost+found/ core *~ Runall: root 22:00 expire-default: +15 days expire-rule: # MIN HR DOM MON DOW STRFTIME_FMT * * * * 1 +3 months * * 1-7 * 1 +1 year * * 1-7 1,4,7,10 1
bank
indica el directorio en el que se almacenarán los respaldos. La configuración exclude
le permite indicar archivos (o tipos de archivo) a excluir del respaldo. Runall
es una lista de conjuntos de archivos a respaldar con una marca temporal para cada conjunto, lo que le permite asignar la fecha correcta la copia en caso que el respaldo no ejecute exactamente en el momento programado. Debe indicar una hora justo antes del momento de ejecución (las 22:04 de forma predeterminada en Debian, según /etc/cron.d/dirvish
). Finalmente, las configuraciones expire-default
y expire-rule
definen las políticas de expiración para los respaldos. El ejemplo anterior mantiene por siempre los respaldos generados el primer domingo de cada trimestre, elimina después de un año aquellos realizados el primer domingo de cada mes y luego de 3 meses aquellos realizados otros días domingo. Mantendrá los demás respaldos diarios por 15 días. El orden de las reglas sí importa, Dirvish utiliza la última regla que coincida o la directiva expire-default
si ninguna línea de expire-rule
coincide.
Ejemplo 9.4. El archivo /backup/root/dirvish/default.conf
client: rivendell.falcot.com tree: / xdev: 1 index: gzip image-default: %Y%m%d exclude: /var/cache/apt/archives/*.deb /var/cache/man/** /tmp/** /var/tmp/** *.bak
hostname
), especialmente aquellos en el árbol raíz (tree: /
), excepto aquellos enumerados en exclude
. El respaldo estará limitado a los contenidos de un sistema de archivos (xdev: 1
). No incluirá archivos de otros puntos de montaje. Generará un índice de los archivos almacenados (index: gzip
) y el nombre de la imagen estará basado en la fecha actual (image-default: %Y%m%d
).
dirvish --vault bóveda --init
. Luego, la ejecución dirvish-runall
automáticamente generará una nueva copia de respaldo inmediatamente después de eliminar aquellas que hayan expirado.