Obtenga tar para excluir algunos archivos

Obtenga tar para excluir algunos archivos

Quiero hacer una copia de seguridad, pero mis cintas no tienen espacio para todo, así que decidí no hacer una copia de seguridad de las máquinas virtuales (más de 1 TB).

Tengo las máquinas virtuales en.local/share/libvirt/images

Usé este comando

tar cvf - /home/user -X altro/file.esclude  | openssl aes-256-cbc -salt  -k "password" | dd bs=80M of=/dev/st0

En altro/file.escludepongo esta linea/home/user/.local/share/libvirt/images

¡Pero tar ignora el archivo de exclusión y realiza una copia de seguridad de todo!

Así que uso

tar cvf - /home/user --exclude '/home/user/.local/share/libvirt/images'  | openssl aes-256-cbc -salt  -k "password" | dd bs=80M of=/dev/st0

Y... ¡lo mismo!

¿Por qué?


El sistema es Slackware 14.2 con gnu tar

Respuesta1

La X debe estar antes de las rutas a incluir en el archivo tar.

Entonces:

tar cvf - /home/user -X altro/file.esclude  | openssl aes-256-cbc -salt  -k "password" | dd bs=80M of=/dev/st0

Está Mal.

Este:

tar cvf - -X /home/user/altro/file.esclude /home/user | openssl aes-256-cbc -salt  -k "pass" | dd bs=80M of=/dev/st0

es correcto

En el archivo de exclusión, uso

/home/user/.local/share/libvirt/images/*

información relacionada