 
 
 
 
 
 
 
  
 Siguiente: La orden cpio
 Subir: Algunas órdenes para realizar
 Anterior: dump/restore
     Índice General 
La utilidad tar (Tape Archiver) es una herramienta de fácil 
manejo disponible en todas las versiones de Unix que permite volcar ficheros
individuales o directorios completos en un único fichero; inicialmente fué 
diseñada para crear archivos de cinta (esto es, para transferir archivos de 
un disco a una cinta magnética y viceversa), aunque en la actualidad casi 
todas sus versiones pueden utilizarse para copiar a cualquier dipositivo o
fichero, denominado `contenedor'. Su principal desventaja es que, bajo ciertas 
condiciones,
si falla una porción del medio (por ejemplo, una cinta) se puede perder toda
la copia de seguridad; además, tar no es capaz de realizar por sí
mismo más que copias de seguridad completas, por lo que hace falta un poco
de programación shellscripts para realizar copias progresivas o 
diferenciales.
En la tabla 7.4 se muestran las opciones de tar más 
habituales; algunas de ellas no están disponibles en todas las 
versiones de tar, por lo que es recomendable consultar la página 
del manual de esta orden antes de utilizarla. Si la implementación de tar que existe en nuestro sistema no se ajusta a nuestras necesidades, siempre
podemos utilizar la versión de GNU (http://www.gnu.org/), quizás
la más completa hoy en día.
Tabla 7.4:
Opciones de la orden tar
| 
| Opción | Acción realizada |  | c | Crea un contenedor |  | x | Extrae archivos de un contenedor |  | t | Testea los archivos almacenados en un contenedor |  | r | Añade archivos al final de un contenedor |  | v | Modo verbose |  | f | Especifica el nombre del contenedor |  | Z | Comprime o descomprime mediante compress/uncompress |  | z | Comprime o descomprime mediante gzip |  | p | Conserva los permisos de los ficheros |  | 
 
En primer lugar debemos saber cómo crear contenedores con los archivos 
deseados; por ejemplo, imaginemos que deseamos volcar todo el directorio
/export/home/ a la unidad de cinta /dev/rmt/0. Esto lo conseguimos
con la siguiente orden:
anita:~# tar cvf /dev/rmt/0 /export/home/
Como podemos ver, estamos especificando juntas las diferentes opciones
necesarias para hacer la copia de seguridad de los directorios de usuario; la
opción `v' no sería necesaria, pero es útil para ver un listado
de lo que estamos almacenando en la cinta. En muchas situaciones también
resulta útil comprimir la información guardada (tar no
comprime, sólo empaqueta); esto lo conseguiríamos con las opciones
`cvzf'.
Si en lugar de (o aparte de) un único directorio con todos sus ficheros y 
subdirectorios quisiéramos especificar múltiples archivos (o directorios),
podemos indicárselos uno a uno a tar en la línea de comandos; 
así mismo, podemos indicar un nombre de archivo contenedor en lugar de
un dispositivo. Por ejemplo, la siguiente orden creará el fichero /tmp/backup.tar, que contendrá /etc/passwd y /etc/hosts*: 
anita:~# tar cvf /tmp/backup.tar /etc/passwd /etc/hosts*
tar: Removing leading `/' from absolute path names in the archive
etc/passwd
etc/hosts
etc/hosts.allow
etc/hosts.deny
etc/hosts.equiv
anita:~#
Una vez creado el contenedor podemos testear su contenido con la opción
`t' para comprobar la integridad del archivo, y también para ver qué
ficheros se encuentran en su interior:
anita:~# tar tvf /tmp/backup.tar
-rw-r--r-- root/other      965 2000-03-11 03:41 etc/passwd
-rw-r--r-- root/other      704 2000-03-14 00:56 etc/hosts
-rw-r--r-- root/other      449 2000-02-17 01:48 etc/hosts.allow
-rw-r--r-- root/other      305 1998-04-18 07:05 etc/hosts.deny
-rw-r--r-- root/other      313 1994-03-16 03:30 etc/hosts.equiv
-rw-r--r-- root/other      345 1999-10-13 03:31 etc/hosts.lpd
anita:~#
Si lo que queremos es recuperar ficheros guardados en un contenedor 
utilizaremos las opciones `xvf' (o `xvzf' si hemos utilizado 
compresión con gzip a la hora de crearlo). Podemos indicar el archivo
o archivos que queremos extraer; si no lo hacemos, se extraerán todos:
anita:~# tar xvf /tmp/backup.tar etc/passwd
etc/passwd
anita:~# tar xvf /tmp/backup.tar
etc/passwd
etc/hosts
etc/hosts.allow
etc/hosts.deny
etc/hosts.equiv
etc/hosts.lpd
anita:~#
La restauración se habrá realizado desde el directorio de trabajo, creando
en él un subdirectorio etc con los ficheros correspondientes en su
interior. Si queremos que los ficheros del contenedor sobreescriban a los que ya
existen en el sistema hemos de desempaquetarlo en el directorio adecuado, en
este caso el raíz.
 
 
 
 
 
 
 
  
 Siguiente: La orden cpio
 Subir: Algunas órdenes para realizar
 Anterior: dump/restore
     Índice General 
2003-08-08