我正在开发一个项目,我将使用tar来将服务器上的数据增量备份到多个磁带上。 根据我的一位高级同事的说法, tar会“在文件上设置特殊标志,以便能够判断自上次备份以来文件是否已被修改”。 我从来没有意识到, tar可以修改源文件(除了删除)。
在GNU tar的帮助页面和UNIX的tar手册页中 ,我已经有一段时间了,但是我还不能确认或反驳他所说的话。 那么,这是一个完整的公牛,我将不得不使用Bacula之类的东西,或者我可以做他正在解释(以及如何)?
干杯! 罗素C.
我不认为tar会这么做,因为文件系统没有“特殊标志”。 您可以使用-N DATE或--newer DATE开关来备份比DATE更新的文件。 您可以使用--newer-mtime DATE来备份自DATE以来修改过的文件。 您还可以使用-g file或--listed-incremental=file将元数据存储在外部文件中,然后可以引用该外部文件进行增量备份 。
你的同事是Windows的家伙吗? 因为在Windows上,有a (对于归档)属性,每当一个文件被修改时被设置,当备份程序备份时应该被清除。
在Unix / Linux上,备份程序通常使用文件的ctime / mtime值来决定是否需要备份文件 – 如果时间比备份中的新,则保存。
您可以通过使用-N或--newer选项来告诉tar仅备份比上次备份更新的文件。