我在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)的文件。 在这种情况下,这个备份是第三个备份,所以如果发生了一些事情,我会很高兴只有这些文件,并处理一个不太完美的系统会好起来的。
感谢您的回应。