![TAR 在大目录上返回 1 - 如何忽略它?](https://linux22.com/image/198250/TAR%20%E5%9C%A8%E5%A4%A7%E7%9B%AE%E5%BD%95%E4%B8%8A%E8%BF%94%E5%9B%9E%201%20-%20%E5%A6%82%E4%BD%95%E5%BF%BD%E7%95%A5%E5%AE%83%EF%BC%9F.png)
我正在运行以下序列以进行备份:
$> 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
- 您将如何解决此错误?
提前致谢。