Ejecuciones útiles tar: Copiar directorios completos

Hola compañeros de la shell,

En esta entrada vamos a repasar un par de funcionalidades muy útiles que el comando tar nos ofrece.

Existen otras formas de copiar directorios de una manera mucho más sofisticada y fiable como pueda ser mediate rsync, pero para mover directorios pequeños tar me parece mucho más versátil.

Por otro lado, en esta entrada no vamos a extendernos en una explicación completa sobre el uso del comando tar, solamente destacamos el uso del parámetro «-» que tar usa para escribir el fichero resultante por la salida standard (si estamos agrupando en un fichero *.tar) o para leer de la entrada standard (si estamos  «desplegando» un fichero *.tar)

  1. Copiar un directorio a otra ubicación en el mismo host:

tar -cf - ./DIRECTORIO/* | (cd DIRECTORIO_DESTINO && tar -xf -)

2. Copiar un directorio a otra ubicación de otro host:

Un requerimiento previo para que esta ejecución funcione automáticamente sin necesidad de insertar passwords sería habilitar las claves ssh entre usuario origen y destino.

tar -cf - ./DIRECTORIO/* | ssh USUARIO@HOST_DESTINO "(cd PATH_DESTINO && tar -xf -)"

3. Copiar el fichero tar a otra ubicación de otro host:

tar -cf - `cat listado_ficheros.txt` | ssh -q usuario_destino@host_destino "cat > /path_destino/filename.tar" 1>>/tmp/log_tar_$$.txt 2>&1

Espero que os sirva.

Nos vemos al otro lado de la pantalla negra.

Esta entrada ha sido publicada en Sin categoría y etiquetada como , , , , , . Guarda el enlace permanente.

Deja una respuesta

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