每次在Dropbox目录中使用时,tar增量备份都将备份所有内容

我在10个月前(2013年1月27日)进行了增量备份,创build了一个.snar元数据文件。 现在,当我尝试使用增量备份

tar --create --file=dropbox_incremental_1.tar --listed-incremental=dropbox_0.snar Dropbox 

该命令只是重新备份一切。

我不是Unix时间戳方面的专家,但是我注意到几乎所有的目录时间戳都比上次更改的时间更新。 对于我的实际文件,他们看起来像这样:

 Access: 2013-03-12 19:04:51.000000000 -0500 Modify: 2012-09-30 15:10:47.000000000 -0500 Change: 2013-03-12 19:04:51.306209672 -0500 

“修改”时间戳看起来是正确的,但是在他们说的时候,文件绝对没有改变(至less没有做任何我所知道的)。 这些文件似乎仍然进入增量存档。

这里发生了什么事? 有没有办法告诉焦油来看看'修改'时间戳? 这不是应该做的吗?

你没有提到文件系统/设备types,但你可以尝试:

 $ tar --create --no-check-device --file=dropbox_incremental_1.tar --listed-incremental=dropbox_0.snar Dropbox 

另请参阅修复快照文件 。

焦油看起来确实如此。 但它也应该看ctime,因为它处理文件的元数据(如权限)。

我的猜测是你的Dropbox应用程序使用ctime来达到自己的目的,没有什么可以做的。

UPD:

您可以使用更新选项-u而不是增量模式。 这似乎ingnore ctime。

最终,我找不到一种方法来获得与Dropbox的增量式工作。 我猜,正如Veniamin所说,tar同时兼顾ctime和mtime。 Dropbox必须做一些触及ctime的事情,所以每次运行它时都会导致整个存档被备份。

相反,我只是做了tar –create –file mybackup.tar –newer-mtime =“2013年1月26日”Dropbox

虽然它不像增量备份那样光滑,但我对它感到满意,因为它应该会获得自上次备份以来所有已更改(基于mtime)的文件。 在这种情况下,这个备份是第三个备份,所以如果发生了一些事情,我会很高兴只有这些文件,并处理一个不太完美的系统会好起来的。

感谢您的回应。