![执行增量备份时,tar 对 TERM 信号有何行为?](https://linux22.com/image/773520/%E6%89%A7%E8%A1%8C%E5%A2%9E%E9%87%8F%E5%A4%87%E4%BB%BD%E6%97%B6%EF%BC%8Ctar%20%E5%AF%B9%20TERM%20%E4%BF%A1%E5%8F%B7%E6%9C%89%E4%BD%95%E8%A1%8C%E4%B8%BA%EF%BC%9F.png)
我用 Python 编写了一个备份脚本,使用tar
(via subprocess
) 对我的文件进行增量备份。由于一些完整备份相当大(例如我的图片文件夹)并且需要几个小时才能完成(通过网络传输到我的 NAS),所以我担心在备份期间服务器/PC 关闭/重启时会发生什么。
我猜想脚本在关机/重启时会收到 TERM 信号。是否可以tar
妥善处理增量备份的中断,以便下一次调用tar
将成功添加所有丢失的文件,而不是重新传输所有以前的文件?
如果没有,这对我的 tar 文件和 tar 使用的快照文件(带有选项--listed-incremental
)意味着什么?
我使用的确切命令是:
tar -vcpzf <target_file> --no-check-device -g <target_snapshot_file> <dir_to_backup>
注意:我计划在我的 PC 上通过 anacron 运行该脚本,但它本身会在执行时检查是否需要备份。
答案1
由于tar
不包含索引,您的输出 tar 文件将被截断(“存档过早结束”),但仍可使用;但是,由于快照文件是在存档过程结束时生成的,因此它将为空。因此您的下一个增量实际上将是一个完整的备份。