我知道机制略有不同,因为它--newer
允许您选择任意截止日期,而--listed-incremental
始终查看自上次使用快照文件以来的更改。
但通常我对归档自上次备份日期以来更改的文件感兴趣,在这种情况下,我看不出这两个选项之间有什么区别。
我特别想知道为什么 GNU tar 手册建议在增量备份场景中使用--listed-incremental
而不是使用。--newer
答案1
您--listed-incremental
正在创建一个 GNU 增量备份,它使用文件来跟踪更改:在这里阅读更多内容。
您--newer
只需更新/创建存档,其中包含自您传递存档以来已更改的文件。
答案2
主要区别在于备份级别的处理。 --listed-incremental 保留一个状态文件,其中包含完整备份的时间戳以及此后更改的文件(及其时间偏移量)。在恢复时,您可以切换回所需级别的确切状态(=快照日期)。这意味着此时不存在的文件将被删除,更改的文件将获得相应级别的状态。恢复操作还需要 --listed-incremental 选项,但其值为 /dev/null (或只是 --incremental),必须按照之前创建备份的顺序多次调用该选项。
对于仅基于 --newer 的备份存档,要在所需时间内恢复到确切状态并不容易,因为这些存档的连续恢复(从最旧到最新)会累积(合并)所有已更改的文件。在此期间,没有文件何时消失的信息。