Linux - 将备份分成两步

Mik*_*ail 2 linux backup bash archive tar

我使用创建了一个 tarball tar zcf arhive.tar.gz dir/,这可以正常工作。现在我想把它分成两个简单的档案,一个只用于图像,另一个 - 用于其他所有内容。

似乎没有一种简单而干净的方法可以做到这一点。因为tar我只能排除文件,排除除 gif、jpg 和 png 之外的所有扩展名是不合理的。

要包含我必须使用find-exec| xargs. 这有点工作,但如果文件名有空格或特殊字符(撇号,引号),则会中断。所以现在我必须将所有文件名输入管道,awk然后手动转义它们?

我错过了什么?为什么这么复杂?

我只是想 tar zcf archive-images.tar.gz dir/ --match-only=*.png

ste*_*tew 6

使用find ... -print0 | xargs -0 tar... 这两个选项来处理带有空格的文件名。

  • 这不是一个好主意。您只能将这么多参数传递给一个进程(并且在对整个文件系统进行皮重处理时,不太可能)。更好的方法是使用 `--null --files-from` 参数直接通过管道传输到 tar。 (2认同)