|
|
|
|
Administración de Sistemas Operativos
| ||
| Inicio ASO | Aula Virtual |
La utilidad tar (Tape Archiver) es una herramienta de f谩cil manejo disponible en todas las versiones de Unix que permite copiar ficheros individuales o directorios completos en un 煤nico fichero. Oficialmente fue dise帽ada para crear ficheros de cinta (esto es, para transferir ficheros de un disco a una cinta magn茅tica y viceversa), aunque en la actualidad casi todas sus versiones pueden utilizarse para copiar a cualquier dispositivo o fichero, denominado 'contenedor'. Su principal desventaja es que, bajo ciertas condiciones, si falla una parte del medio (por ejemplo, una cinta) se puede perder toda la copia de seguridad. Adem谩s, tar s贸lo es capaz de realizar copias de seguridad completas, por lo que hace falta un poco de programaci贸n shellscripts para realizar copias progresivas o diferenciales.
En la tabla 1 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/).
En primer lugar debemos saber c贸mo crear contenedores con los ficheros deseados. Por ejemplo, imaginemos que deseamos copiar todo el directorio /export/home/ a la unidad de cinta /dev/rmt/0. Esto lo conseguimos con la siguiente orden:
| Tabla 1. Opciones de la orden tar |
| Opci贸n | Acci贸n Realizada |
|---|---|
| c | Crea un contenedor |
| x | Extrae ficheros de un contenedor |
| t | Testea los ficheros almacenados en un contenedor |
| r | A帽ade ficheros al final de un contenedor |
| v | Modo verbose |
| f | Especifica el nombre del contenedor |
| z | Comprime o descomprime mediante compress/uncompress |
La opci贸n 鈥渧鈥 no es 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 鈥渃vfz鈥.
Si en lugar de un 煤nico directorio con todos sus ficheros y subdirectorios quisi茅ramos especificar m煤ltiples ficheros (o directorios), podemos indic谩rselos uno a uno a tar en la l铆nea de comandos. As铆 mismo, podemos indicar un nombre de fichero contenedor en lugar de un dispositivo. Por ejemplo, la siguiente orden crear谩 el fichero /tmp/backup.tar, que contendr谩 /etc/passwd y /etc/hosts*.
| Utilizaci贸n del comando tar (creacci贸n) |
| # 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 # |
Una vez creado el fichero, podemos comprobar la integridad del fichero con la opci贸n 鈥渢鈥, y tambi茅n para ver qu茅 ficheros se encuentran en su interior:
| Utilizaci贸n del comando tar (testeo del contenido) |
| # 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 # |
Si lo que queremos es recuperar los ficheros guardados en un fichero tar, utilizaremos las opciones 鈥渪vf鈥 (o 鈥渪vfz鈥 si hemos utilizado compresi贸n con gzip a la hora de crearlo). Podemos indicar el fichero o ficheros que queremos extraer; si no lo hacemos, se extraer谩n todos. A continuaci贸n podemos ver un ejemplo:
| Utilizaci贸n del comando tar (extracci贸n) |
| # tar xvf /tmp/backup.tar etc/passwd |
| etc/passwd |
| # tar xvf /tmp/backup.tar |
| etc/passwd
etc/hosts etc/hosts.allow etc/hosts.deny etc/hosts.equiv etc/hosts.lpd # |
En el ejemplo anterior, la restauraci贸n se ha realizado desde el directorio de trabajo, creando en 茅l un subdirectorio /etc con los ficheros correspondientes en su interior. Si queremos que los ficheros guardados sobrescriban a los que ya existen en el sistema, hemos de desempaquetarlo en el directorio adecuado, en este caso el ra铆z.
![]() | |