TAR 在大目录上返回 1 - 如何忽略它?

TAR 在大目录上返回 1 - 如何忽略它?

我正在运行以下序列以进行备份:

$> set -o pipefail
$> tar -c /vary/large/folder1 /very/large/folder2 | xz ... | gpg ... | aws ...
$> echo "${PIPESTATUS[0]} ${PIPESTATUS[1]} ${PIPESTATUS[2]} ${PIPESTATUS[3]}"
1 0 0 0

当我tar在较小的目录上运行时,返回值始终为0.但是当我尝试备份较大的文件夹(+10G)时,返回值始终是1。状态的联机帮助页tar

返回值 1 某些文件有所不同。如果使用 --compare (--diff, -d) 命令行选项调用 tar,则意味着存档中的某些文件与其磁盘对应文件不同。如果为 tar 指定了 --create、--append 或 --update 选项之一,则此退出代码意味着某些文件在存档时已更改,因此生成的存档不包含文件集的精确副本。

我该如何防止tar返回1破坏备份脚本的顺序?我想要/需要忽略备份期间已更改的文件,那么如何忽略不同的文件?是否有任何“最佳方法”来处理巨大的目录tar- 您将如何解决此错误?

提前致谢。

相关内容