“tar”命令如何设法“查看”两次增量备份之间更改的文件

“tar”命令如何设法“查看”两次增量备份之间更改的文件

如何柏油命令检查文件是否被更改?如何柏油“知道”这个文件已被更改,并且必须在下一次增量备份中输入?

我有一些假设:

  • 它可能比较“mtime”;
  • 它可能比较“ctime”;
  • 它可能会比较内容(使用类似 md5sum 的方法);

当我说柏油我是说GNU tar

答案1

我使用 GNU tar 做了一些测试,发现:

  • 当你更新档案时tar uvvf test.tar test_folder 只有mtime用于检查文件是否被改变。

  • 当您使用快照文件创建增量存档时,如下所示tar cvvf test.tar --listed-incremental=snaphot test_folder mtime 和 ctime用于检查更改。这样做是因为更改文件的某些属性(即所有者)会更改 ctime。Tar 不仅用于备份文件的内容,还用于备份其属性。

  • 最后,tar 不会对存档中的文件进行校验,如果您设法欺骗文件系统并更改文件的内容,但不更改其 mtime 和 ctime,tar 将不会在下一个增量中包含该文件。

有关 atime、mtime 和 ctime 的参考,我使用过这个http://www.unix.com/tips-tutorials/20526-mtime-ctime-atime.html

答案2

如果您指的是 GNU tar,那么根据手册,它会根据存档中的修改时间检查修改时间。因此这将是mtime

http://www.gnu.org/software/tar/manual/html_section/Advanced-tar.html#SEC62

对于已被修改的文件,ctime将保持不变,因此不会进行有效的检查。 tar不进行 md5 检查。

相关内容