我想要进行备份,但我的磁带没有空间容纳所有内容,因此我决定不备份虚拟机(超过 1tb)。
我有虚拟机.local/share/libvirt/images
我用了这个命令
tar cvf - /home/user -X altro/file.esclude | openssl aes-256-cbc -salt -k "password" | dd bs=80M of=/dev/st0
我altro/file.esclude
把这一行/home/user/.local/share/libvirt/images
但 tar 会忽略排除文件并备份所有内容!
所以我用
tar cvf - /home/user --exclude '/home/user/.local/share/libvirt/images' | openssl aes-256-cbc -salt -k "password" | dd bs=80M of=/dev/st0
还有……同样的事情!
为什么?
系统是带有 gnu tar 的 Slackware 14.2
答案1
X 必须位于要包含在 tar 文件中的路径之前。
所以:
tar cvf - /home/user -X altro/file.esclude | openssl aes-256-cbc -salt -k "password" | dd bs=80M of=/dev/st0
是错的。
这:
tar cvf - -X /home/user/altro/file.esclude /home/user | openssl aes-256-cbc -salt -k "pass" | dd bs=80M of=/dev/st0
是对的
在排除文件中,我使用
/home/user/.local/share/libvirt/images/*