2010-11-27 33 views
86

Tengo una carpeta /public_html/, en esa carpeta hay una carpeta /tmp/ que tiene como 70 gb de archivos que realmente no necesito.Excluyendo directorio al crear un archivo .tar.gz

Ahora estoy tratando de crear un .tar.gz de /public_html/ excluyendo /tmp/

Este es el comando me encontré:

tar -pczf MyBackup.tar.gz /home/user/public_html/ --exclude "/home/user/public_html/tmp/" 

todavía se está creando el alquitrán, y haciendo una ls -sh puedo ver que MyBackup.tar.gz ya tiene unos 30 gb, y estoy seguro de que /public_html/ sin /tmp/ no tiene más de 1 GB de archivos.

¿Qué hice mal?

+2

duplicado posible de [comando Shell para directorio de alquitrán excluir ciertos archivos/carpetas] (http://stackoverflow.com/questions/984204/shell-command-to-tar-directory-excluded-certain-files-folders) –

Respuesta

151

intente eliminar el último/al final de la ruta del directorio para excluir

tar -pczf MyBackup.tar.gz /home/user/public_html/ --exclude "/home/user/public_html/tmp" 
+0

Gracias, ese fue el "error". – suresh

+0

Gracias, esto funcionó para mí;) – Yuday

+5

Para excluir toda la carpeta y su contenido: tar -pczvf MyBackup.tar.gz/home/user/public_html/--exclude "/ home/user/public_html/tmp/*" –

26

trate de mover el --exclude a antes de la incluyen.

tar -pczf MyBackup.tar.gz --exclude "/home/user/public_html/tmp/" /home/user/public_html/ 
+0

Gracias , esto funcionó para mí en una vieja caja Ubuntu 14.04 LTS. – Jamsi

+3

Esto funcionó en macOS Sierra. –

+1

Necesitaba hacer esto en OS X también. – TheJacobTaylor

15

Sí, eliminar la posterior / y (al menos en ubuntu 11.04) todos los caminos indicados deben ser ruta relativa o total. No puede mezclar rutas absolutas y relativas en el mismo comando.

sudo tar -czvf 2011.10.24.tar.gz ./start-directory --exclude "home/user/start-directory/logs" 

no excluirá directorio de registros, pero

sudo tar -czvf 2011.10.24.tar.gz ./start-directory --exclude "./start-directory/logs" 

funcionará

+0

Me funciona cuando elimino la ruta absoluta en el argumento de exclusión. – jruzafa

+1

La sugerencia de mezclar caminos absolutos y relativos fue clave para mí aquí –

2

probar este

tar -pczvf advancedarts.tar.gz /home/user/public_html/ --exclude /home/user/public_html/tmp 
-1

La opción excluye las necesidades de incluir el signo = y " no son necesarios.

--exclude=/home/user/public_html/tmp 
6

El comando correcto para excluir el directorio de la compresión es:

tar --exclude='./folder' --exclude='./upload/folder2' -zcvf backup.tar.gz backup/ 

Asegúrese de poner --exclude antes de que los elementos de origen y de destino.

y se puede comprobar el contenido del archivo tar.gz sin descomprimir:

tar -tf backup.tar.gz 
Cuestiones relacionadas