我正在做一个项目,我将使用它tar
来将服务器上的数据增量备份到多个磁带上。据我的一位资深同事说,tar
将“在文件上设置特殊标志,以便它能够判断文件自上次备份以来是否被修改过。”我从来不知道tar
可以曾经修改源文件(删除除外)。
我花了很长时间才完成GNU tar 帮助页面和UNIX tar 手册页但我现在既不能证实也不能反驳他的话。所以,这完全是胡说八道,我必须使用类似巴库拉或者我可以按照他解释的做吗(以及如何做)?
谢谢!Russell C
答案1
我不认为 tar 会这样做,因为文件系统没有“特殊标志”。您可以使用-N DATE
或 --newer DATE
切换到备份比 DATE 更新的文件。您可以使用--newer-mtime DATE
备份自 DATE 以来修改过的文件。您还可以使用-g file
或--listed-incremental=file
将元数据存储在外部文件中,然后可以引用该文件进行制作增量备份。
答案2
您的同事是 Windows 用户吗?因为在 Windows 上,有一个a
(用于存档)属性,每当文件被修改时都会设置该属性,而当备份程序备份文件时,该属性应该被清除。
在 Unix/Linux 上,备份程序通常使用文件的 ctime/mtime 值来决定是否需要备份文件 - 如果时间比备份中的时间新,则保存它。
-N
您可以使用或选项告诉 tar 仅备份比上次备份更新的文件--newer
。