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)
- 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.
