Rudi Asked: 2020-06-09 22:51:57 +0800 CST2020-06-09 22:51:57 +0800 CST 2020-06-09 22:51:57 +0800 CST 最终检查更改的目录的 tar 772 有没有办法使用 tar 打包目录并在去皮后检查源数据是否有变化? 好吧,我想打包一个文件夹。但是在打包过程中可能会更改文件夹的内容。我需要一种 tar 方法来检查创建存档后源文件是否已更改。如果是这样,打包的文件应该被新的源文件覆盖 ext4 tar 18.04 2 个回答 Voted Niels Tolstrup 2020-06-09T23:07:02+08:002020-06-09T23:07:02+08:00 您可以将目录 rsync 到一个临时位置,然后继续检查 rsync 直到没有更改,最后制作 tar 文件。 Best Answer Parsa Mousavi 2020-06-10T00:45:41+08:002020-06-10T00:45:41+08:00 如果您只想更新现有文件和较新文件的内容(但不从存档中删除不再位于当前目录中的文件,因为这会给您No such file or directory尝试更新存档的错误),您可以使用diff@Niels Tolstrup 提到的功能,然后使用--update或简单-u地更新存档内容: tar -uf tarfile.tar `tar --diff --file tarfile.tar | awk ' { print $1 } ' | cut -d: -f1` 注意: Tarupdate会在 tar 文件中创建许多重复的条目,您可以通过这些条目看到它们,tar --list --file tarfile.tar但在提取文件时这不是问题。
您可以将目录 rsync 到一个临时位置,然后继续检查 rsync 直到没有更改,最后制作 tar 文件。
如果您只想更新现有文件和较新文件的内容(但不从存档中删除不再位于当前目录中的文件,因为这会给您
No such file or directory
尝试更新存档的错误),您可以使用diff
@Niels Tolstrup 提到的功能,然后使用--update
或简单-u
地更新存档内容:注意: Tar
update
会在 tar 文件中创建许多重复的条目,您可以通过这些条目看到它们,tar --list --file tarfile.tar
但在提取文件时这不是问题。