DAR - Disk ARchive

Contenido

1. Introducción
2. Un ejemplo sencillo
3. El catálogo
4. Troceado
5. Backups diferenciales
6. Cifrar el backup
7. Compresión
8. CRC
9. Interfaz de Usuario
10. Referencias

1. Introducción

En el mundo de los backups cada situación que se presenta tiene una herramienta adecuada:

  1. tar: empaquetado de archivos de manera sencuencial
  2. rsync: sincronización de un directorio entre dos hosts
  3. rdiff-backup: variante de rsync para hacer mirror y backups incrementales
  4. bacula y amanda: sistemas de backups completos al estilo de soluciones propietarias como sysmante backup
  5. etc....

Y muchas mas herramientas que seguro en el foro se han comentado. La herramienta a elegir depende también de gustos, yo por ejemplo usaba un simple rsync dentro de mi equipo de trabajo para mantener un backup completo del estado actual y guardaba también los diferenciales día a día, y eso que rsync está pensado para sincronizar directorios entre dos computadoras pudiendo entubar el tráfico por ssh, de éste modo puedo tener una copia de diferentes servidores que se encuentran a cientos de km y volcar esas copias de manera centralizada en un servidor dedicado sólo a backups.

Pero la herramienta que voy a tratar es útil en el caso de tener un computador del que queremos tener un backup, con diferencial o no, cifrado o no, que aplique compresión a determinados ficheros, etc....

Diferencias entre tar y DAR:

  • La utilidad básica para empaquetar archivos en uno sólo es tar, pero el inconveniente que tiene es que cuando queremos descomprimir un archivo del contenido hay que recorrer todo el archivo tar. Con DAR puedo tener acceso directo al fichero que necesite ya que todos los empaquetados con DAR incluyen un catálogo. El archivo tar se comporta como un dispositivo secuencial o cinta.
  • Si queremos compresión, con tar se comprime el global del archivo .tar, con dar comprimimos los arhivos que contiene el empaquetado dando mejores ratios de compresión en el total, permite máscaras para no aplicar compresión por ejemplo a fichero jpeg, gif, gz, etc... acelera el proceso.
  • Si el archivo tar está dañado no podré extraer nada de él, mientrar que con dar puedo extraer todos los ficheros que no se vean perjudicados por el medio físico. CRC a cada fichero, podemos realizar test para conoder si el empaquetado DAR se encuentra bien, y extraer el resto del backup aunque haya erróneos.
  • Si lo necesitamos podemos extraer el catálogo de un archivo DAR, revisar el empaquetado que detalla cada unos de los atributos de los archivos, o usar el catálogo para realizar backups diferenciales.
  • DAR permite trocear el backup, esto me permite hacer 5 trozos de 880 MB y grabarlos a un DVD.

2. Un ejemplo sencillo

Un primer ejemplo muy sencillo donde quiero hacer backup del home de un usuario, con el parámetro -R indicamos la raíz a partir de la cuál vamos a hacer el backup, el fichero .dar generado se guarda en el directorio actual a menos que le demos la ruta completa. También mostramos el parámetro -x para la extracción del backup especificando un directorio de destino donde volcar el backup:

dar -c fichero_empaquetado -R /home/usuario
dar -x fichero_empaquetado -R /home/directorio_destino

En DAR a diferencia de otras herramientas el planteamiento es hacer backup de todo a menos que le indiquemos que es lo que no debe de incluir, es decir, no le damos una lista de directorios a incluir en el backup sino que que incluímos todo desde una raíz especificada y le especificamos lo que no queremos incluir, como en el ejemplo siguiente con el parámetro -P, el parámetro -D indica que esos directorios si están vacíos los incluyas como tal:

dar -c fichero_empaquetado -R /home/usuario -D -P mnt -P opt -P sys -P media -P proc

Ahora voy a poner un ejemplo de cuando no queremos extraer todo el backup sino solamente unos ficheros en concreto, es la contrapartida a -P. Para ello usarémos el parámetro -g, como nota importante indicar que las rutas especificadas tienen que ser relativas a la raíz en el momento del backup dada por -R:

dar -x fichero_empaquetado -g home/usuario/directorio

3. El catálogo

Todos los ficheros generados con DAR incluyen un catálogo en su interior que tiene la información de todos los ficheros y sus atributos que intervienen en el backup. Ese cataĺogo es usado en copias diferenciales para conocer el estado del último backup. Ese catálogo se puede extraer para verlo haciendo un listado de él o para trasportar dicho catálogo que ocupa menos que el backup y usarlo para los backups diferenciales.

Un ejemplo de cómo extraer el catálogo, y sacar el listado del catálogo:

dar -C catalogo -A fichero_empaquetado
dar -l catalogo

El catálogo es un fichero .dar, no podemos editar con vi, hay que hacer el listado con el propio DAR.

Como habréis observado los ficheros cuando son generados incluyen la extensión 1.dar, no es necesario especificar esa extensión al hacer referencia a los ficheros,

4. Troceado

Si queremos llevar nuestros backups a un DVD los ficheros no pueden ser de un tamaño máximo que define el estándar ISO 9660, yo los dejaba en 880MB de máximo. Si hicieramos un slice/troceado del empaquetado aparecería por cada extensión un fichero con diferente extensión 2.dar, 3.dar, X.dar. Un ejemplo de troceado con el parámetro -s:

dar -c fichero_empaquetado -R /home/usuario -s 880M

4. Backups diferenciales

Cuando la cantidad de datos a gestionar en el backup se va haciendo mayor, o porque el hardware que tenemos no da para más es interesante jugar con los backups diferenciales, tendrémos un backup completo y a partir de ese día solo guardamos las diferencias. Un ejemplo donde hacemos primero un backup completo y despues el diferencial, con el parámetro -A el anterior backup:

dar -c fichero_empaquetado-completo -R /home/usuario
dar -c fichero_diferencial1 -R /home/usuario -A fichero_empaquetado-completo
dar -c fichero_diferencial2 -R /home/usuario -A fichero_diferencial1

Todos los ficheros tanto el backup completo como los diferenciales tienen su catálogo, se puede extraer el catálogo de un diferencial para conocer que ficheros están etiquetados como Saved.

5. Cifrar el backup

El parámetro -K nos permite especificar una cadena para usar en el cifrado y descifrado del backup en su creación y extracción. Un ejemplo:

dar -c fichero_empaquetado -R /home/usuario -K trD37ido

6. Compresión

Como hemos mencionado al principio la compresión no se aplica al globar del fichero empaquetado sino a cada unod elos ficheros que contiene, esto se realizar con el parámetro -y , en dicha compresión se usa el algortimo bzip2 y se puede especificar el nivel de compresión, con -z también se comprime pero usando gzip. Como nuestro backup incluirá muchos ficheros cuyo formato ya incluye compresión podemos evitar esa carga de proceso con máscaras para evitar que sean comprimidos, la máscara se especificar con el parámetro -Z. Un ejemplo:

dar -c fichero_empaquetado -R /home/usuario -y -Z *.jpg -Z *.mp3

8. CRC

Con el catálogo además de darnos acceso directo a un fichero sin tener que recorrerlo secuencialmente, extraer el cataĺogo, usar el catálogo en los backusp diferenciales, también lo usámos a la hora de chequear que el backup se encuentra en buen estado ya que guarda un CRC de cada uno de los ficheros. Para testear el backup usamos el parámetro -t:

dar -t fichero_empaquetado

Podemos testear un backup, un backup diferencial, y hasta el mismo catálogo cuando es extraído del backup ya que es también un fichero .dar.

9. Interfaz de Usuario

Se trata de una cómoda interfaz gráfica para el escritorio KDE desarrollada por Denis Corbin.
Su nombre : Kdar.
Algunas instantaneas.

10. Referencias

La web del proyecto es http://dar.linux.free.fr/
http://kdar.sourceforge.net/

La página man que se incluye en el paquete deb es totalmente explicativa y podréis encontrar otros puntos importantes como máscaras para excluir determinados directorios/ficheros, modo dummy, etc.......... asi es que `man dar`.

Saludos, y espero que os guste esta guía.

Relacionado con DAR - Disk ARchive