En este apartado vamos a ver cómo utilizar el comando tar con una serie de opciones específicas que permiten emplearlo para la realización de copias de seguridad.
Por otro lado, también vamos a estudiar el programa AMANDA, el cual utilizaremos para implementar políticas de seguridad utilizando la arquitectura cliente/servidor.
tar
El comando tar puede utilizarse como
alternativa para hacer copias de seguridad de nuestro sistema de
ficheros. En tal caso, es importante tener en cuenta que si un usuario
modifica un fichero a la vez que tar lo está archivando es muy probable que la copia de seguridad no se realice correctamente y la recuperación del fichero falle.
Existen dos opciones especiales en la orden tar para hacer copias de seguridad, y son:
La opción -g (--listed-incremental) incluye el fichero donde tar registrará qué ficheros fueron modificados, añadidos y borrados desde el último backup, para así tenerlo en cuenta en la siguiente copia de seguridad y sólo incluir las modificaciones.
Si el fichero /var/backups/completa.info existiera y quisiéramos hacer un backup de nivel 0, simplemente tendríamos que borrarlo.
En este caso, sólo se copiarán en diferencial.tgz las modificaciones (ficheros nuevos y actualizados) desde la copia total, y en backup.info se añadirá la metainformación necesaria para registrar los ficheros que han intervenido, es decir, los ficheros nuevos, modificados y borrados desde el backup total.
Es el fichero backup.info (generado por la copia de seguridad completa) la base para calcular los cambios producidos en el directorio /home. Es por esto, que si nuestra intención es hacer días después, otra copia de seguridad diferencial, antes del paso anterior deberíamos haber hecho una copia de backup.info original, para que la nueva copia diferencial se vuelva a basar en la metainformación generada por el backup completo. Es decir, para la primera copia diferencial:
Cuando se extrae un fichero de copia de seguridad, el comando tar intenta restaurar el estado exacto del sistema de ficheros que había cuando el fichero se creó, lo que implica borrar aquellos ficheros y directorios que no existían por entonces. Si se utilizan varios niveles de copias de seguridad, para dejar el sistema de ficheros como estaba cuando se realizó el último backup, habrá que restaurar cada uno de los niveles por orden, empezando por el nivel más bajo, el nivel 0. Por ejemplo, en los casos anteriores:
Existen dos opciones especiales en la orden tar para hacer copias de seguridad, y son:
--listed-incremental=fichero-de-registro ó -g fichero-de-registro
--incremental ó -G
Estas opciones permiten crear y manipular información que registra los ficheros que han intervenido en el backup.La opción -g (--listed-incremental) incluye el fichero donde tar registrará qué ficheros fueron modificados, añadidos y borrados desde el último backup, para así tenerlo en cuenta en la siguiente copia de seguridad y sólo incluir las modificaciones.
Creación de una copia de seguridad completa o de nivel 0:
Si quisiéramos crear una copia de seguridad completa del directorio /home sobre el fichero /var/backups/completa.tgz debemos ejecutar la siguiente orden:# tar -czf /var/backups/completa.tgz -g /var/backups/backup.info /homeLa clave para que el backup sea de nivel 0 es que el fichero /var/backups/completa.info no exista y entonces se cree por primera vez. En dicho fichero se registrarán todos los archivos que han intervenido en la copia.
Si el fichero /var/backups/completa.info existiera y quisiéramos hacer un backup de nivel 0, simplemente tendríamos que borrarlo.
Creación de copias de seguridad diferenciales:
Para hacer una copia de seguridad diferencial días después de haber hecho una copia total, tendríamos que ejecutar lo siguiente:# tar -czf /var/backups/diferencial.tgz -g /var/backups/backup.info /homedonde el fichero backup.info contiene inicialmente la información generada por el backup total previo.
En este caso, sólo se copiarán en diferencial.tgz las modificaciones (ficheros nuevos y actualizados) desde la copia total, y en backup.info se añadirá la metainformación necesaria para registrar los ficheros que han intervenido, es decir, los ficheros nuevos, modificados y borrados desde el backup total.
Es el fichero backup.info (generado por la copia de seguridad completa) la base para calcular los cambios producidos en el directorio /home. Es por esto, que si nuestra intención es hacer días después, otra copia de seguridad diferencial, antes del paso anterior deberíamos haber hecho una copia de backup.info original, para que la nueva copia diferencial se vuelva a basar en la metainformación generada por el backup completo. Es decir, para la primera copia diferencial:
# cp /var/backups/backup.info /var/backups/backup-diferencial.info # tar -czf /var/backups/backup-diferencial.tgz -g /var/backups/backup-diferencial.info /homey días después para la segunda copia diferencial:
# rm /var/backups/backup-diferencial.tgz /var/backups/backup-diferencial.info # cp /var/backups/backup.info /var/backups/backup-diferencial.info # tar -czf /var/backups/backup-diferencial.tgz -g /var/backups/backup-diferencial.info /home
Creación de copias de seguridad incrementales:
Si después de hacer la copia de seguridad total, lo que queremos es ir haciendo copias de seguridad incrementales, lo que debemos hacer es acumular la metainformación sobre el mismo fichero, es decir, backup.info. Así, tras la copia total, para hacer la primera copia incremental:# tar -czf /var/backups/incremental-1.tgz -g /var/backups/backup.info /homePara la siguiente copia incremental ejecutaríamos:
# tar -czf /var/backups/incremenl-2.tgz -g /var/backups/backup.info /homeY así, sucesivamente.
Restauración de la copia de seguridad:
Para restaurar las copias de seguridad usaremos la opción -x junto con la opción -G (--incremental); no será necesario hacer referencia al fichero con los metadatos del backup, pues toda la información para la extracción se encuentra en los ficheros de backup.Cuando se extrae un fichero de copia de seguridad, el comando tar intenta restaurar el estado exacto del sistema de ficheros que había cuando el fichero se creó, lo que implica borrar aquellos ficheros y directorios que no existían por entonces. Si se utilizan varios niveles de copias de seguridad, para dejar el sistema de ficheros como estaba cuando se realizó el último backup, habrá que restaurar cada uno de los niveles por orden, empezando por el nivel más bajo, el nivel 0. Por ejemplo, en los casos anteriores:
- Con una copia de seguridad completa y una diferencia:
# tar -xzf /var/backups/completa.tgz -G # tar -xzf /var/backups/diferencial.tgz -G
- Con una copia de seguridad completa y dos incrementales:
# tar -xzf /var/backups/completa.tgz -G # tar -xzf /var/backups/incremental-1.tgz -G # tar -xzf /var/backups/incremental-2.tgz -G
Listar el contenido de una copia de seguridad:
Puede obtenerse información extra de los fichero backup generados con tar, es necesario para ello usar la opción -G y dos veces la opción -v, por ejemplo:# tar -tvvGf i.tgz tar: Eliminando la `/' inicial de los nombres drwxr-xr-x root/root 16 2014-11-23 21:49 /root/tmp/ D d1 D d2 Y h.txt drwxr-xr-x root/root 9 2014-11-23 14:36 /root/tmp/d1/ N f1 N f2 drwxr-xr-x root/root 5 2014-11-23 21:50 /root/tmp/d2/ Y g1 -rw-r--r-- root/root 0 2014-11-23 21:49 /root/tmp/h.txt -rw-r--r-- root/root 15 2014-11-23 21:50 /root/tmp/d2/g1El significado de la D, N e Y que aparecen en el listado anterior es el siguiente:
- D: Es un directorio
- Y: Es un fichero almacenado en la copia de seguridad.
- N: Es un fichero que está en el directorio respaldado pero que no se encuentra en la copia de seguridad por no haber sido modificado.
No hay comentarios:
Publicar un comentario