En este artículo voy a explicar cómo crear archivos tar sin atravesar sistemas de archivos (puntos de montaje), muy útil para cuando necesitamos hacer un backup el sistema de archivos raíz (/).



Hace unos días necesité hacer una copia de seguridad del sistema de archivos raíz de un servidor, en forma de archivo tar comprimido con el formato gzip. El problema reside en que, generalmente en todas las instalaciones, el filesystem root (/) posee diferentes puntos de montaje a otros sistemas de archivos (que pueden estar alojados en particiones diferentes, en memoria, remotamente, dentro de archivos, discos removibles y otros medios). Por ejempo, en cualquier instalación GNU/Linux se suelen separar los directorios /home, /usr, /var, /tmp y más, en sistemas de archivos y particiones diferentes, por diferentes motivos como puede ser seguridad, confiabilidad, escalabilidad, etc.

Si se intenta crear un archivo tar de un sistema de archivos raíz, por defecto cada vez que encuentre un punto de montaje lo atravesará y seguirá agregando archivos recursivamente. Por ende terminará agregando todos los archivos de todos los sistemas de archivos montados actualmente en el sistema.

Para evitar este comportamiento, y forzar a tar a que agregue archivos sólo del sistema de archivos del directorio base especificado, existe la opción --one-file-system:

root@centos6# man tar

Parece trivial escribir un artículo para algo tan simple, pero lo hice para recordar donde se debe ubicar esta opción. Entonces, para crear el backup del sistema de archivos raíz se debe utilizar el siguiente comando:

root@centos6# tar -czf /tmp/backup.tar.gz --one-file-system /

El modo de operación es -czf /tmp/backup.tar.gz. Esto indica que se cree (c), comprimido utilizando el formato gzip (z), el nuevo archivo /tmp/backup.tar.gz (f). Luego se especifica la opción --one-file-system, y finalmente el directorio raíz /.


Tal vez pueda interesarte


Compartí este artículo