Manualinux
http://www.nvu.com http://www.gimp.org InicioPresentaciónActualizacionesManualesDescargasNoticiasAgradecimientoEnlaces

Entornos GráficosAplicaciones

DesarrolloEmuladoresInternetJuegosMultimediaSistema

Compresores de Archivos - P7zipEditores de Texto - Leafpad

Copias de Seguridad - Disk ARchive




Copias de Seguridad - Disk ARchive




Copyright

Copyright © José Luis Lara Carrascal  2007-2018   http://manualinux.eu



Sumario

Introducción
Características
Instalación
Editar el archivo de configuración personal de DAR
Crear un script de copia de seguridad completa del sistema
Crear un script de copia de seguridad diferencial del sistema
Restauración de la copia de seguridad y las diferenciales
Gestionar las copias de seguridad con Dar Manager
Enlaces




Introducción  

En informática existen dos tipos de usuarios: los que se han quedado alguna vez en su vida sin disco duro por avería o corrupción de datos y los que nunca han tenido este tipo de problema. La percepción del peligro siempre va unida a la experiencia personal, el señor que le han atracado tres veces seguidas en una misma semana dirá que los niveles de delincuencia son insoportables, el señor que nunca haya sufrido un atraco seguirá dejando las llaves del coche puestas cuando vaya a por el periódico.

Tengo que reconocer que no soy un fanático de las copias de seguridad, soy de los que piensan que el sitio más seguro sigue siendo el disco duro y que dejando a un lado los problemas puntuales que hayan tenido algunos usuarios, éstos siguen siendo bastante más fiables y duraderos que un CD o un DVD siempre expuestos a las condiciones ambientales y a la manipulación incorrecta por parte de los usuarios.

Incluso voy más lejos y abogo por realizar siempre las copias de seguridad en un segundo disco duro, teniendo en cuenta el considerable descenso en los precios de éstos. Se te puede estropear un disco duro pero es más fácil que te caiga un ladrillo en la cabeza en pleno desierto, que el hecho de quedarse sin los dos discos duros por avería. Por otra parte siempre es mejor hacer copias selectivas de directorios críticos (etc, home, root) que una copia entera del sistema, pero esto es sólo una opinión personal, que cada cual ajuste sus niveles de seguridad sin tener que llegar a caer en la obsesión por hacer copias de seguridad diarias.

Dentro de los programas dedicados a estos menesteres existen dos tipos muy diferenciados: los que se limitan a crear imágenes de las particiones con las consabidas limitaciones que conlleva esto, y los que hacen copias del contenido permitiendo la posibilidad de hacerlo de forma incremental, es decir, a partir de la primera copia creada sólo se añaden los archivos nuevos o modificados reduciendo considerablemente la engorrosa tarea que supone siempre realizar una copia de todos los datos de la partición. Además nos permiten seleccionar los directorios a ser incluidos en la misma.

En este segundo apartado debemos de incluir a Disk ARchive (DAR), programa del que trata este manual. Aunque tiene una interfaz gráfica denominada Kdar (no es compatible con versiones superiores a la 2.4 de Disk ARchive), es recomendable aprenderse las opciones de línea de comandos del mismo. Lo mejor de todo es que contiene documentación traducida al español con ejemplos de cómo realizar una copia de seguridad del sistema, su manejo no es nada complejo y una vez tengamos configurado el comando de respaldo de datos podemos convertirlo en un script de shell y automatizar las copias con sólo la ejecución de un comando o la programación temporal con el comando cron.



Características  

* FILTROS : Podemos excluir los archivos y directorios que no queremos que se incluyan en la copia.  (-I -X -P -g -[-] -am)

* COPIAS DIFERENCIALES : DAR puede realizar copias completas o copias diferenciales en las que sólo se añaden los archivos modificados desde la copia que utilizemos como referencia. (-A)

* COPIAS DIVIDIDAS EN VARIOS ARCHIVOS : En el comando de copia se puede especificar el tamaño del archivo resultante en el caso de que el tamaño final de la copia supere la capacidad de un CD/DVD. Automáticamente se crearán archivos divididos en función del tamaño especificado en dicho comando. (-s -S -p -aSI -abinary)

* CAPTURA DE ESTADO DEL ARBOL DE DIRECTORIOS : DAR puede realizar una captura de estado del árbol de directorios grabando el estado de los inodos de los archivos. El archivo resultante es usado como referencia para hacer las copias diferenciales de los datos del sistema y es mucho más pequeño que una copia completa del sistema entero. (-A +)

* COMPRESION : DAR puede utilizar compresión en la generación del archivo resultante, sólo gzip, bzip2 y lzo están implementados de momento. Por defecto no la usa. (-zgzip) para gzip, (-zbzip2) para bzip2., (-zlzo) para lzo y (-zxz) para xz. El nivel de compresión por defecto es 9, para cambiarlo añadir un número del 1 al 9 al parámetro concreto, ejemplo: (-zbzip2:8)

* ACCESO DIRECTO : Una de las mejores funciones de este programa, podemos extraer un determinado archivo o directorio específico sin necesidad de restaurar toda la copia, incluso si hacemos uso de la compresión. En el caso de que la copia esté dividida en varios archivos, DAR sólo nos pedirá la parte que contenga los archivos o directorios que queremos restaurar.

* ACCESO SECUENCIAL : Lo mismo que el acceso directo, pero indicado para los discos de cinta. (-sequential-read, at)

* ARCHIVOS DISPERSOS : Esta característica evita el desperdicio de espacio en disco a la hora de restaurar las copias de seguridad. (-sparse-file-min-size, ah)

* PRESERVA LOS ENLACES DUROS : Todas las propiedades de los enlaces a puntos de montaje de dispositivos de bloque son guardados en la copia.

* ATRIBUTOS EXTENDIDOS : DAR puede guardar y restaurar todos los atributos extendidos o aquellos que se ajusten a un determinado patrón. (-u -U -am -ae --alter=list-ea)

* COMPROBACION DEL ARCHIVO : DAR puede detectar un archivo corrupto y anular su restauración dentro del contenido de la copia que tengamos pensado restaurar. (-t)

* USO DE TUBERÍAS : Mediante la ejecución de una tubería podemos restaurar una copia local en un ordenador remoto. (-i -o -)

* ISOLACIÓN : Este es el nombre del proceso mediante el cual extraemos el catálogo (la lista de archivos) de una copia ya creada a un pequeño archivo que utilizaremos como referencia para realizar la siguiente copia diferencial, sin necesidad de tener que utilizar como referencia la copia entera creada. (-C)

* CAMBIAR EL TAMAÑO DE LAS PARTES DE UNA COPIA : Con el programa dar_xform podemos cambiar el tamaño de las partes que se hayan creado al realizar una copia dividida en un determinado tamaño.

* SOPORTE DE CIFRADO : DAR puede utilizar los algorimos scrambling y bluefish para cifrar el contenido de los datos a respaldar. (-K -J -# -* blowfish)

* COMPRESION SELECTIVA : Podemos utilizar filtros para excluir archivos comprimidos (zip. gzip, mp3, mpeg, bz2, etc.) si vamos a utilizar la opción de compresión para realizar la copia, esto acelera considerablemete el proceso de copia evitando tener que comprimir lo que ya está comprimido. (-Z *.mp3, *.mpg, *.zip)

* DAR MANAGER : dar_manager es el encargado de gestionar las copias diferenciales y con el mismo podremos buscar entre el contenido de éstas.

* RESTAURACION PLANA : Se pueden restaurar todos los archivos excluyendo a los directorios y subdirectorios tomando como referencia siempre el directorio raíz del sistema: / (-f)

* UN SISTEMA DE ARCHIVOS SÓLO : DAR puede hacer una copia de un directorio de un sistema de archivos aunque en el
mismo existan puntos de montaje que enlacen a otros sistemas de archivos, éstos serán ignorados en la copia a realizar. (-M)

* MEZCLA DE COPIAS : DAR puede mezclar dos copias diferentes en un mismo archivo siempre y cuando las dos estén comprimidas o sin comprimir y utilizen el mismo algoritmo de cifrado, en el caso de que estas opciones se hayan utilizado. (-+ ak)

* EXTRACCION DE ARCHIVOS DE UNA COPIA PARA AÑADIRLOS A OTRA : Se pueden extraer un grupo de archivos de una copia y añadirlos a una nueva cambiando si se desea las opciones de compresión y cifrado. (-+)

Entre paréntesis los parámetros posibles de línea de comandos de la característica determinada para DAR.

Nota: Estas características no incluyen todos los cambios realizados en las versiones 2.4 >> 2.5 >> 2.6. La información actualizada de éstas, en este enlace.



Instalación  

Dependencias

Herramientas de Compilación


Entre paréntesis la versión con la que se ha compilado DAR para la elaboración de este documento.

* GCC - (8.2.0) o Clang - (7.0.0)
* Gawk - (4.2.1)
* M4 - (1.4.18)
* Libtool - (2.4.6)
* Make - (4.2.1)
* Automake - (1.16.1)
* Gettext - (0.19.8.1)
* Autoconf - (2.69)
* Pkg-config - (0.29.2)

Librerías de Desarrollo

* Curl - (7.63.0)
* Libgcrypt - (1.8.4)
* Libgpg-error - (1.33)
* Gpgme - (1.12.0)
* E2fsprog - (1.44.5)
* Libbzip2 - (1.0.6)
* Librsync - (2.0.2)
* Libsocket - (1.8)
* Libthreadar - (1.2.1)
* LZO - (2.10)
* XZ Utils - (5.2.4)
* Zlib - (1.2.11)

Aplicaciones

* Doxygen - (1.8.14)
* Groff - (1.22.3)



Descarga

dar-2.6.0.tar.gz

Optimizaciones

$ export {C,CXX}FLAGS='-O3 -march=amdfam10 -mtune=amdfam10'

Donde pone amdfam10 se indica el procesador respectivo de cada sistema seleccionándolo de la siguiente tabla:
Nota informativa sobre las optimizaciones para GCC
* La opción '-march=' establece el procesador mínimo con el que funcionará el programa compilado, la opción '-mtune=' el procesador específico para el que será optimizado. 

* Los valores separados por comas, son equivalentes, es decir, que lo mismo da poner '-march=k8' que '-march=athlon64'.

* En versiones de GCC 3.2 e inferiores se utiliza la opción '-mcpu=' en lugar de '-mtune='.
Nota informativa sobre las optimizaciones para Clang
* La opción '-mtune=' está soportada a partir de la versión 3.4 de Clang.

* Los valores de color azul no son compatibles con Clang.

* Las filas con el fondo de color amarillo son valores exclusivos de Clang, y por lo tanto, no son aplicables con GCC.
Valores CPU
Genéricos
Intel
AMD
VIA
IDT

Optimizaciones adicionales

Optimizaciones adicionales
GCC
Graphite
$ export {C,CXX}FLAGS+=' -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block'
LTO
$ export {C,CXX}FLAGS+=' -fuse-linker-plugin -flto=2'
Donde pone 2 se indica el número de núcleos de nuestro procesador, si sólo tiene uno, utilizar el parámetro -flto

Clang
Polly
$ export {C,CXX}FLAGS+=' -O3 -mllvm -polly -mllvm -polly-vectorizer=stripmine'

Parámetros adicionales

Establecer la ruta de búsqueda de directorios de librerías en sistemas de 64 bits multiarquitectura
$ export LDFLAGS+=" -L/usr/lib64 -L/usr/local/lib64"

Establecer el RPATH correspondiente si utilizamos una versión de GCC que no es la principal del sistema
$ export LDFLAGS+=" -Wl,-rpath,/opt/gcc8/lib64 -lstdc++"
Sustituir /opt/gcc8/lib64 por la ruta de instalación de la versión de GCC alternativa que se vaya a utilizar en el proceso de compilación de este paquete.

Parámetros adicionales de ubicación de librerías requeridas por el programa
Libsocket (Happycoders)
$ export {C,CXX,LD}FLAGS+=' -L/usr/lib64/happycoders -lsocket'

Establecer la variable de entorno de uso de compilador para Clang
$ export {CC,CXX}=clang
Si utilizamos Clang con Ccache, tendremos que establecer la variable de entorno correspondiente de Ccache de uso de compilador.
$ export CCACHE_COMPILER=clang

Extracción y Configuración  Bloc de Notas Información general sobre el uso de los comandos

NOTA: La versión 2.6 no es compatible con Clang, de momento.

$ tar zxvf dar-2.6.0.tar.gz
$ cd dar-2.6.0
$ ./configure --disable-dependency-tracking --prefix=/usr \
--sysconfdir=/etc --libdir=/usr/lib64 --disable-{dar-,}static \
--disable-upx --disable-build-html

Explicación de los comandos

--disable-dependency-tracking : Acelera el tiempo de compilación.
--prefix=/usr : Instala el programa en el directorio principal /usr.

--sysconfdir=/etc
: Instala el archivo de configuración en /etc, en lugar de /usr/etc.
--libdir=/usr/lib64 : Instala las librerías en /usr/lib64, en sistemas de 64 bits multiarquitectura.

--disable-{dar-,}static : Desactiva la creación del binario ejecutable estático y la librería estática, al requerir, desde la versión 2.6, de un excesivo número de dependencias adicionales indirectas de librerías estáticas, que sólo son requeridas por este paquete concreto.

--disable-upx : Al no instalar el binario ejecutable estático, no es necesaria su compresión con UPX.
 
--disable-build-html : Desactiva la creación e instalación de la documentación en HTML, destinada a programadores.

Compilación

$ make

Parámetros de compilación opcionales

-j2 : Si tenemos un procesador de doble núcleo (dual-core), y el kernel está optimizado para el mismo y es SMP, con este parámetro aumentaremos el número de procesos de compilación simultáneos a un nivel de 2 y aceleraremos el tiempo de compilación del programa de forma considerable.
-j4 : Lo mismo que arriba pero con procesadores de 4 núcleos (quad-core).

Instalación como root

$ su 
# make install-strip
# ldconfig -v

Borrar las locales adicionales instaladas con la utilidad BleachBit

# bleachbit -c system.localizations

Copiar el archivo de configuración del sistema de DAR a nuestro directorio de usuario root

# cp /etc/darrc $HOME/.darrc

Si tenemos pensado realizar copias de seguridad de directorios como usuario normal, también lo podemos copiar a nuestro directorio personal de usuario.

Estadísticas de Compilación e Instalación de DAR

Estadísticas de Compilación e Instalación de DAR
CPU AMD Phenom(tm) II X4 965 Processor
MHz 3415.709
RAM 4096 MB
Sistema de archivos XFS
Versión del Kernel 4.19.9-ck1 SMP PREEMPT x86_64
Modo de frecuencia de la CPU ondemand
Versión de Glibc 2.28
Enlazador dinámico GNU gold (Binutils 2.31.1) 1.16
Compilador GCC 8.2.0
Parámetros de optimización -03 -march=amdfam10 -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block -fuse-linker-plugin -flto=4
Parámetros de compilación -j4
Tiempo de compilación 1' 09"
Archivos instalados 148
Mostrar/Ocultar la lista de archivos instalados
Enlaces simbólicos creados 2
Mostrar/Ocultar la lista de enlaces simbólicos creados
Ocupación de espacio en disco 5,7 MB

Desinstalación como root

1) MODO TRADICIONAL

En el directorio de compilación ejecutamos el siguiente comando:

$ su -c "make uninstall"

2) MODO MANUALINUX  

El principal inconveniente del comando anterior es que tenemos que tener el directorio de compilación en nuestro sistema para poder desinstalar el programa. En algunos casos esto supone muchos megas de espacio en disco. Con el paquete de scripts que pongo a continuación logramos evitar el único inconveniente que tiene la compilación de programas, y es el tema de la desinstalación de los mismos sin la necesidad de tener obligatoriamente una copia de las fuentes compiladas.

dar-2.6.0-scripts.tar.gz

$ su 
# tar zxvf dar-2.6.0-scripts.tar.gz
# cd dar-2.6.0-scripts
# ./Desinstalar_dar-2.6.0

Copia de Seguridad como root

Con este otro script creamos una copia de seguridad de los binarios compilados, recreando la estructura de directorios de los mismos en un directorio de copias de seguridad (copibin) que se crea en el directorio /var. Cuando se haya creado el paquete comprimido de los binarios podemos copiarlo como usuario a nuestro home y borrar el que ha creado el script de respaldo, teniendo en cuenta que si queremos volver a restaurar la copia, tendremos que volver a copiarlo al lugar donde se ha creado.

$ su 
# tar zxvf dar-2.6.0-scripts.tar.gz
# cd dar-2.6.0-scripts
# ./Respaldar_dar-2.6.0

Restaurar la Copia de Seguridad como root

Y con este otro script (que se copia de forma automática cuando creamos la copia de respaldo del programa) restauramos la copia de seguridad como root cuando resulte necesario.

$ su 
# cd /var/copibin/restaurar_copias
# ./Restaurar_dar-2.6.0



Editar el archivo de configuración personal de DAR

En este caso lo de personal siempre es referible al usuario root, que es el que realiza las copias de seguridad del sistema, o de directorios específicos del mismo, incluido el directorio personal del usuario normal. Abrimos con un editor de texto el archivo de configuración que hemos copiado a nuestro directorio de usuario root y añadimos los formatos de archivo que no serán comprimidos y los directorios del sistema cuyo contenido no será incluido en la copia de seguridad, pero que sí serán creados como vacíos cuando se restaure la copia de seguridad. A continuación pongo como ejemplo el mío, con el contenido modificado y reducido a lo básico.

Si queremos omitir el uso de este archivo de configuración desde la línea de comandos, basta añadir el parámetro -N al comando de ejecución de DAR, para que este archivo o el del sistema sean omitidos en el proceso de ejecución del programa. Si queremos utilizar un archivo de configuración alternativo a éste, o utilizar por defecto el del sistema, basta añadir el parámetro -B con la ruta al archivo de configuración específico a utilizar. Esto resulta muy interesante para la realización de copias de seguridad específicas de directorios.

# Formatos de archivo que no serán comprimidos porque ya están comprimidos
# Formatos de vídeo comprimidos.
-Z "*.mpg"
-Z "*.avi"
-Z "*.cr2"
-Z "*.vob"
-Z "*.mkv"
-Z "*.wmv"
-Z "*.flv"
-Z "*.swf"
-Z "*.mp4"
-Z "*.webm"

# Formatos de imagen comprimidos.
-Z "*.jpg"
-Z "*.jpeg"
-Z "*.png"
-Z "*.webp"

# Formatos de audio comprimidos
-Z "*.flac"

-Z "*.mp3"
-Z "*.ogg"
-Z "*.wma"

# Paquetes de binarios comprimidos
-Z "*.deb"
-Z "*.tgz"
-Z "*.tbz2"
-Z "*.txz"
-Z "*.rpm"
-Z "*.xpi"
-Z "*.run"
-Z "*.sis"
-Z "*.msi"

# Otros datos de compresión
-Z "*.gz"
-Z "*.Z"
-Z "*.bz2"
-Z "*.zip"
-Z "*.jar"
-Z "*.rar"
-Z "*.xz"
-Z "*.7z"
-Z "*.pdf"

# Archivos de dar
-Z "*.dar"

# Directorios cuyo contenido no será incluido en la copia de seguridad, pero sí serán creados
# cuando ésta se restaure. Básicamente, tenemos que incluir los directorios de puntos de montaje
# y los del sistema que son volátiles, tmp (si está montado con tmpfs), proc, sys y /dev/pts.
# En mi caso pongo el directorio home porque éste lo tengo en una partición diferente.

-P tmp
-P proc
-P sys
-P dev/pts
-P home
-P mnt/mageia
-P mnt/lmde
-P mnt/floppy
-P mnt/cdrom
-P mnt/cd-rw
-P mnt/pclinuxos
-P mnt/pendrive
-P mnt/debian
-P mnt/lmde
-P mnt/slackware
-P mnt/win_c
-P mnt/win_d
-P mnt/win_e
-P mnt/win_f 
-P mnt/win_g
-P mnt/win_h
-P mnt/win_i
-P mnt/win_j
-P mnt/win_k
-P mnt/win_l
-P mnt/win_m
-P mnt/win_n
-P mnt/win_o 
-P media/vcd0
-P media/vcd1
-P media/vcd2
-P media/vcd3
-P media/vcd4




Crear un script de copia de seguridad completa del sistema  Bloc de Notas

Primero creamos un script con todo el comando de ejecución completo para evitar tener que teclearlo cada vez que tengamos pensado hacer una copia completa de los datos de nuestro sistema. Abrimos un editor de texto y añadimos lo siguiente, teniendo en cuenta que lo deberemos de adaptar a las necesidades de cada uno, esto es sólo un ejemplo.

#!/bin/sh

dar -v -m 256 -zxz:6 -s 2G -D -R / -c /mnt/win_o/`date +"%d-%m-%G`_datos 

Explicación de los comandos

-v : Muestra más información en el proceso de creación de la copia de seguridad.

-m 256
: Le indicamos el tamaño mínimo a partir del cual los archivos serán comprimidos, en este caso sería 256KB, esto es completamente opcional.

-zxz:6 : Activa lo compresión en formato xz, con un nivel de compresión de 6. El nivel de compresión predefinido es de 9. Tener en cuenta que el aumento del nivel de compresión exige tener un equipo muy potente, ya que también aumenta el nivel de utilización de memoria y cpu, en los procesos de compresión y descompresión de la copia de seguridad. Con este nivel de compresión, 20 GB de datos de una partición XFS de sistema quedan reducidos a 6 GB con DAR.

-s 2G : El tamaño de las partes en el que será dividida la copia si su tamaño supera los 2 GB. Es recomendable siempre que el tamaño de las partes no supere nunca la memoría del sistema (RAM+swap), porque cuando vayamos a extraer la copia de seguridad, si las partes son de gran tamaño, pueden producirse errores en la extracción producidos por falta de recursos de memoria para la misma. Si esto se produjera, tendremos que crear un archivo adicional de memoria swap, por ejemplo 4 GB, para realizar el proceso con una cierta seguridad. Un ejemplo:

$ su
# dd if=/dev/zero of=/root/archivo-swap bs=1024 count=4194304
# mkswap /root/archivo-swap 4194304
# sync
# swapon /root/archivo-swap

Cuando terminemos de extraer la copia de seguridad, desactivamos y borramos el archivo creado.

# swapoff /root/archivo-swap
# rm -f /root/archivo-swap

-D : Crea los directorios vacíos que han sido excluidos de la copia para evitar tener que crearlos a mano en una posible restauración.

-R /: Le indicamos el directorio raíz a partir del cual la copia será restaurada, al ser una copia completa del sistema tenemos que indicar el directorio raíz del mismo: /

-c /mnt/win_o/`date +"%d-%m-%G`_datos : Es el comando de creación de la copia, ésta se creará con la fecha incrustada en el nombre de la copia resultante y en una partición de datos que tengo de Windows.

Guardamos el archivo con el nombre de respaldar_sistema en el directorio del root y le damos permisos de ejecución y lo ejecutamos,

$ su 
# chmod +x respaldar_sistema
# ./respaldar_sistema


 
Crear un script de copia de seguridad diferencial del sistema  Bloc de Notas

Cuando tengamos nuestra copia completa del sistema las siguientes que hagamos tendrán que ser diferenciales, es decir, sólo se añadirá lo que haya sido modificado desde la última copia. Para esto creamos otro script con el siguiente contenido:

#!/bin/sh

dar -v -m 256 -zxz:6 -y -s 2G -D -R / -c /mnt/win_o/`date +"%d-%m-%G`_datos_dif \
-A /mnt/win_o/24-04-2016_datos

Explicación de los comandos

-c /mnt/win_o/`date +"%d-%m-%G`_datos_dif: Creamos la copia diferencial en la misma partición pero renombrándola para saber que es una copia diferencial y no una copia completa.

-A /mnt/win_o/24-04-2016_datos : Le indicamos la ruta a DAR de la copia completa que utilizaremos como referencia para hacer la copia diferencial. Nunca añadir la extensión o el número de la copia, sólo su nombre, es decir, nada de puntos como se puede comprobar en el ejemplo. Si volvieramos a hacer una copia completa del sistema deberemos de cambiar la ruta a la nueva copia creada.

Guardamos el archivo con el nombre de respaldar_sistema_dif en el directorio del root y le damos permisos de ejecución y lo ejecutamos.

$ su 
# chmod +x respaldar_sistema_dif
# ./respaldar_sistema_dif



Restauración de la copia de seguridad y las diferenciales  Bloc de Notas  

Finalmente creamos un script de restauración de la copia utilizando como ejemplo el que viene en la documentación en español.

#!/bin/sh

if [ -n "$3" ]; then
CMD="$1"
INPUT="$2_datos"
FS_ROOT="$3"
$CMD -x "$INPUT" -w -R "$FS_ROOT"
for file in ${INPUT:0:8}*_dif*; do
$CMD -x "${file:0:15}" -w -R "$FS_ROOT"
done
echo "Todo hecho."
else
echo "No hay suficientes parámetros.

Uso: script ruta_dar base_completa_copia directorio

Donde ruta_dar es la ruta al binario dar, base_completa_copia
es la fecha en el formato'YYYY-MM-DD', y directorio es el lugar
donde usted pondra los datos restaurados, normalmente '/' cuando corre como root."
fi

Guardamos el archivo con el nombre de restaurar_sistema en el mismo sitio donde estén las copias de seguridad creadas,

$ su 
# chmod +x restaurar_sistema
# cp restaurar_sistema /mnt/win_o

Cuando queramos ejecutarlo lo hacemos de la siguiente manera:

$ su 
# ./restaurar_sistema /usr/bin/dar 24-04-2016 /

Explicación de los comandos

/usr/bin/dar : Le indicamos la ruta al binario dar.
24-04-2016 : Le indicamos la fecha de la copia que vamos a restaurar, siempre primero la copia completa y luego las diferenciales.
/ : La ruta del directorio raíz donde se restaurará la copia del sistema.


 
Gestionar las copias de seguridad con Dar Manager  

Con dar_manager podemos gestionar las copias de seguridad que tengamos de nuestro sistema, listar los archivos que contengan y extraer de forma selectiva los que deseemos. Antes que nada creamos una base de datos en el directorio del usuario root.

$ su 
# dar_manager -C ~/mis_copias.dmd

Añadimos las copias completas y diferenciales que tengamos, en este caso sólo añado la principal, esto es sólo un ejemplo

# dar_manager -A /mnt/win_o/24-04-2016_datos -B ~/mis_copias.dmd

Ahora si ejecutamos el siguiente comando nos dirá las copias que hay en la base de datos,

[root@localhost ~]# dar_manager -l -B ~/mis_copias.dmd


dar path        :
dar options     :
database version: 4


archive #   |    path      |    basename
------------+--------------+---------------
        1       /mnt/win_o      24-04-2016_datos

Para saber si tenemos un determinado archivo o directorio en las copias que tengamos en la base de datos ejecutamos el siguiente comando (en este caso le pregunto si contiene el directorio /usr/local):

[root@localhost ~]# dar_manager -f usr/local -B ~/mis_copias.dmd
Archive number |  Data                   | status ||  EA                     | status
---------------+-------------------------+--------++-------------------------+----------
        1       Sat Jan 16 23:28:08 2016  saved                                 absent


Y me indica el número de copia (Archive) y el tiempo de modificación del directorio (Data) que contiene la copia. Si quisiera extraerlo ejecutaría el siguiente comando:

# dar_manager -B ~/mis_copias.dmd -N -e "-R /" -r usr/local

Explicación de los comandos

-N : Este parámetro omite las opciones de DAR que estén almacenadas en la base de datos, y evita que se produzcan errores cuando extraemos los archivos con dar_manager, utilizando un directorio diferente a la raíz desde la cual se ha creado el archivo de copia de seguridad.

-e "-R /" : La opción -e se utiliza para pasarle parámetros de forma directa a DAR, también se puede utilizar la opción -o pero no es funcional con la extracción selectiva de directorios y archivos. Los parámetros tienen que ir siempre entrecomillados con comillas o comillas simples. En este caso la opción a pasarle es -R / que establece el directorio raíz a partir del cual se extraerán los archivos. Si no añadimos esto y no nos encontramos en el directorio raíz principal del sistema, los archivos se extraerán en el directorio en curso en el que nos encontremos en la línea de comandos. Si nos encontramos en el directorio raíz, pues no hay que añadir esta opción.

Si queremos sobreescribir los archivos existentes en el sistema, sin que DAR nos advierta antes, añadimos la opción -w al parámetro anterior, nos quedaría así: -e "-R / -w". Si hemos creado la copia de seguridad, por ejemplo, desde la raíz del directorio home, para respaldar nuestro directorio personal de usuario, la opción sería -e "-R /home -w"

 -r usr/local : Esta opción indica la ruta (siempre sin la barra inicial) al directorio a extraer. Podemos añadir tantas rutas a directorios o archivos como queramos, siempre divididas por un espacio.

Si no queremos extraer los directorios y archivos con dar_manager podemos utilizar DAR de forma directa. Un comando equivalente al anterior sería este:

# dar -R / -x /mnt/win_o/24-04-2016_datos -v -w -g usr/local

El problema de usar DAR de forma directa, es que la extracción selectiva de directorios y archivos requiere siempre de la opción -g delante de cada una de las rutas que deseemos extraer, y el comando se nos puede hacer eterno.

Cuando queramos borrar una copia de seguridad de la base de datos ejecutamos el siguiente comando:

# dar_manager -D 1 -B ~/mis_copias.dmd

1 es el número referenciado de la copia dentro de la base de datos. Por último recordar que si modificamos el tamaño de la partición tendremos que volver a hacer una copia completa de la misma.



Enlaces  


http://dar.linux.free.fr >> La web de DAR.

http://dargui.sourceforge.net >> La web de DarGUI, interfaz gráfica para DAR.

http://kdar.sourceforge.net >> La web de Kdar, interfaz gráfica para DAR.

https://peckto.github.io/gdar >> La web de Gdar, un explorador y extractor de archivos creados por DAR.



Foro Galería Blog


Actualizado el 16-12-2018

Copias de Seguridad - Disk ARchive

Compresores de Archivos - P7zipEditores de Texto - Leafpad