Cómo archivar archivos y directorios usando tar en Linux

En los sistemas Linux, puede utilizar el tarcomando para archivar archivos en un dispositivo, como un disco duro o una cinta. El tarprograma en Linux crea un archivo de almacenamiento que puede contener otros directorios y archivos y (opcionalmente) comprime el archivo para un almacenamiento eficiente. Luego, el archivo se escribe en un dispositivo específico u otro archivo. Muchos paquetes de software se distribuyen en forma de tararchivo comprimido .

La sintaxis de comandos del programa tar en Linux es la siguiente:

origen de destino de opciones de alquitrán

Aquí, por lo optionsgeneral , se especifica mediante una secuencia de letras individuales, con cada letra especificando lo que tarhace; destinationes el nombre del dispositivo del dispositivo de respaldo; y sourcees una lista de nombres de archivos o directorios que indican los archivos a respaldar.

Copia de seguridad y restauración de un archivo de un solo volumen en Linux

Suponga que desea realizar una copia de seguridad del contenido del /etc/X11directorio en un disco duro. Inicie sesión como rooty escriba el siguiente comando, donde xxx representa su unidad:

tar zcvf / dev / xxx / etc / X11

El tarprograma muestra una lista de nombres de archivo a medida que cada archivo se copia en el archivo tar comprimido. En este caso, las opciones son zcvf, el destino es (la unidad) y la fuente es el directorio (lo que implica todos sus subdirectorios y su contenido). Puede utilizar un comando similar para hacer una copia de seguridad de los archivos en una cinta reemplazando la ubicación del disco duro con la del dispositivo de cinta, como una unidad de cinta SCSI./dev/xxx/etc/X11tar/dev/st0

Esta tabla define algunas taropciones comunes en Linux.

Opciones comunes de alquitrán
Opción Hace lo siguiente
C Crea un nuevo archivo.
F Especifica el nombre del archivo de almacenamiento o dispositivo en el siguiente campo en la línea de comando.
METRO Especifica un archivo de varios volúmenes.
t Enumera el contenido del archivo.
v Muestra mensajes detallados.
X Extrae archivos del archivo.
z Comprime el archivo tar mediante gzip.

Para ver el contenido del tararchivo que crea en la unidad, escriba el siguiente comando (reemplazando xxx con el dispositivo de la unidad):

tar ztf / dev / xxx

Verá una lista de nombres de archivo (cada uno que comienza con /etc/X11) que indica qué hay en la copia de seguridad. En este tarcomando, la topción enumera el contenido del tararchivo.

Para extraer los archivos de una tarcopia de seguridad, siga estos pasos mientras está conectado como root:

  1. Cambie el directorio /tmpescribiendo este comando:

    cd / tmp

    Este paso es donde puede practicar la extracción de archivos de la tarcopia de seguridad. Para una copia de seguridad real, cambie el directorio a una ubicación adecuada. (Por lo general, escribe cd / .)

  2. Escriba el siguiente comando:

    tar zxvf / dev / xxx

    Este tarcomando usa la xopción para extraer los archivos del archivo almacenado en el dispositivo (reemplace xxx con la unidad).

LEER  Cómo cambiar la configuración de la PC a través de Windows 8.1

Ahora, si verifica el contenido del /tmpdirectorio, notará que el tarcomando crea un etc/X11árbol de directorios /tmpy restaura todos los archivos del tararchivo a ese directorio. El tarcomando quita el encabezado /de los nombres de archivo en el archivo y restaura los archivos en el directorio actual. Si desea restaurar el /etc/X11directorio desde el archivo, use este comando (sustituyendo el nombre del dispositivo por xxx ):

tar zxvf / dev / xxx -C /

La -Copción cambia los directorios al directorio especificado (en este caso, el rootdirectorio de /) antes de hacer tar; el /al final del comando indica el directorio en el que desea restaurar los archivos de copia de seguridad.

En los sistemas Linux, puede utilizar el tarcomando para crear, ver y restaurar un archivo. Puede almacenar el archivo en un archivo o en cualquier dispositivo que especifique con un nombre de dispositivo.

Copia de seguridad y restauración de un archivo de varios volúmenes en Linux

A veces, la capacidad de un solo medio de almacenamiento es menor que el espacio de almacenamiento total necesario para almacenar el archivo. En este caso, puede utilizar la Mopción para un archivo de varios volúmenes, lo que significa que el archivo puede abarcar varias cintas. Sin embargo, tenga en cuenta que no puede crear un archivo comprimido de varios volúmenes, por lo que debe descartar la zopción.

Le Mdice tarque cree un archivo de varios volúmenes. El tarcomando le solicita un segundo medio cuando se llena el primero. Saque el primer medio e inserte otro cuando vea el siguiente mensaje:

Prepare el volumen # 2 y presione regresar:

Cuando presiona Enter, el tarprograma continúa con el segundo medio. Para archivos más grandes, el tarprograma continúa solicitando nuevos medios según sea necesario.

Para restaurar desde este archivo de varios volúmenes, escriba cd / tmp para cambiar el directorio /tmp. (El /tmpdirectorio se usa con fines ilustrativos, pero debe usar un directorio real cuando restaure archivos desde el archivo). Luego, escriba (reemplazando xxx con el dispositivo que está usando)

tar xvfM / dev / xxx

El tarprograma le solicita que alimente el medio según sea necesario.

Utilice el du -scomando para determinar la cantidad de almacenamiento que necesita para archivar un directorio. Escriba du -s / etc para ver el tamaño total del /etcdirectorio en kilobytes, por ejemplo. Aquí está el resultado típico de ese comando:

35724 / etc

El resultado resultante muestra que el /etcdirectorio requiere al menos 35,724 kilobytes de espacio de almacenamiento para realizar la copia de seguridad.

LEER  6 formas de ver aplicaciones en Windows 8.1

Copia de seguridad en cintas para sistemas Linux

Aunque realizar copias de seguridad en cintas es tan simple como usar el nombre de dispositivo correcto en el tarcomando, debe conocer algunos matices del dispositivo de cinta para usarlo bien. Cuando se utiliza tarpara realizar una copia de seguridad en el dispositivo nombrado /dev/st0(la primera unidad de cinta SCSI), el dispositivo de cinta rebobina automáticamente la cinta cuando el tarprograma termina de copiar el archivo en la cinta. El /dev/st0dispositivo se denomina dispositivo de cinta de rebobinado porque rebobina las cintas de forma predeterminada.

Si su cinta puede contener varios gigabytes de datos, es posible que desee escribir varios tararchivos, uno tras otro, en la misma cinta. (De lo contrario, gran parte de la cinta puede quedar vacía). Si planea hacerlo, su dispositivo de cinta no podrá rebobinar la cinta después de tarque finalice el programa. Para ayudarlo con escenarios como este, varios dispositivos de cinta de Linux no son rebobinados. Se llama al dispositivo de cinta SCSI sin rebobinado /dev/nst0. Utilice este nombre de dispositivo si desea escribir un archivo tras otro en una cinta.

Después de cada archivo, el dispositivo de cinta sin rebobinado escribe un marcador de fin de archivo (EOF) para separar un archivo del siguiente. Utilice el mtcomando para controlar la cinta; puede pasar de un marcador al siguiente o rebobinar la cinta. Cuando termine de escribir varios archivos en una cinta usando el /dev/nst0nombre del dispositivo, por ejemplo, puede forzar el rebobinado de la cinta con el siguiente comando:

mt -f / dev / nst0 rebobinar

Después de rebobinar la cinta, puede usar el siguiente comando para extraer archivos del primer archivo al directorio del disco actual:

tar xvf / dev / nst0

Después de eso, debe pasar del marcador EOF al siguiente archivo. Para hacerlo, use el siguiente mtcomando:

mt -f / dev / nst0 fsf 1

Este comando coloca la cinta al comienzo del siguiente archivo. Ahora use el tar xvfcomando nuevamente para leer este archivo.

Si guarda varios archivos en una cinta, debe realizar un seguimiento de los archivos usted mismo. El orden de los archivos puede ser difícil de recordar, por lo que es mejor que simplemente guarde un archivo por cinta.

Realización de copias de seguridad incrementales en Linux

Suponga que utiliza tarpara hacer una copia de seguridad del disco duro de su sistema en una cinta. Dado que la creación de una copia de seguridad completa puede llevar bastante tiempo, no conviene repetir esta tarea todas las noches. (Además, solo una pequeña cantidad de archivos pueden haber cambiado durante el día). Para ubicar los archivos que necesitan copia de seguridad, puede usar el findcomando para enumerar todos los archivos que han cambiado en las últimas 24 horas:

buscar / -mtime -1 -type f -print

Este comando imprime una lista de archivos que han cambiado durante el día anterior. La -mtime -1opción significa que desea los archivos que se modificaron por última vez hace menos de un día. Ahora puede combinar este findcomando con el tarcomando para hacer una copia de seguridad solo de los archivos que han cambiado durante el día anterior:

tar cvf / dev / st0 `find / -mtime -1 -type f -print`

Cuando coloca un comando entre comillas simples, el shell ejecuta ese comando y coloca la salida en ese punto de la línea de comando. El resultado es que el tarprograma guarda solo los archivos modificados en el archivo. Este proceso le brinda una copia de seguridad incremental solo de los archivos que han cambiado desde el día anterior.

LEER  Cómo cortar, copiar y pegar en Windows 10

Realización de copias de seguridad automatizadas en Linux

En los sistemas Linux, puede utilizar crontabpara configurar trabajos recurrentes (llamados trabajos cron ). El sistema Linux realiza estas tareas a intervalos regulares. Hacer una copia de seguridad de su sistema es un buen uso de la crontabinstalación. Suponga que su estrategia de respaldo es la siguiente:

  • Todos los domingos a la 1:15 am, su sistema realiza una copia de seguridad de todo el disco duro en la cinta.
  • De lunes a sábado, su sistema realiza una copia de seguridad incremental a las 3:10 am guardando solo los archivos que han cambiado durante las últimas 24 horas.

Para configurar este programa de copia de seguridad automatizado, inicie sesión como rooty escriba las siguientes líneas en un archivo con el nombre backups(asumiendo que está utilizando una unidad de cinta SCSI):

15 1 * * 0 tar zcvf / dev / st0 /
10 3 * * 1-6 tar zcvf / dev / st0 `buscar / -mtime -1 -type f -print`

A continuación, envíe esta programación de trabajo mediante el siguiente crontabcomando:

copias de seguridad crontab

Ahora está configurado para una copia de seguridad automática. Todo lo que necesita hacer es colocar una cinta nueva en la unidad de cinta todos los días. Recuerde también darle a cada cinta una etiqueta apropiada.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *