tar 目录并排除多个子目录

tar 目录并排除多个子目录

我正在尝试 tar 整个目录(除了一些子目录)。

目录my-base-dir已压缩,但排除的目录/文件也包含在内?

tar -cf my-base-dir/bak/site/site.tar my-base-dir --exclude=my-base-dir/bak/db/* --exclude=my-base-dir/bak/site/*

排除的路径相对于当前工作目录是正确的。因为输出 tar 文件放在其中之一

答案1

您必须--exclude在要放入(或取出)存档的文件名列表之前放置选项,即

tar --exclude='my-base-dir/bak/db/*' --exclude='my-base-dir/bak/site/*' -cf my-base-dir/bak/site/site.tar my-base-dir

或者你也可以使用:

tar -cf my-base-dir/bak/site/site.tar --exclude='my-base-dir/bak/db/*' --exclude='my-base-dir/bak/site/*' my-base-dir

相关内容