我们用于备份的专有软件(sadface)会生成一系列图像,我们用它们rsync同步到异地位置。生成的文件类似于:
a.bak
b.bak
c.bak
Run Code Online (Sandbox Code Playgroud)
因此,我们将它们同步并在场外机器上获得完全相同的结构。然后备份程序再次运行,我们得到如下信息:
archive/a.bak
archive/b.bak
c.bak
d.bak
e.bak
Run Code Online (Sandbox Code Playgroud)
所以rsync工作运行起来,我们最终得到如下结果:
archive/a.bak
archive/b.bak
a.bak
b.bak
c.bak
d.bak
e.bak
Run Code Online (Sandbox Code Playgroud)
显然,我们希望场外机器看起来像现场机器一样,以避免混乱并节省存储空间。有什么办法可以反映rsync现场发生的动作,还是我们必须在外面解决一些问题rsync?
我不知道有什么方法可以让它智能地检测到文件只是“移动”了。但是,您可以使用该--delete标志,以便从目标中删除源中不再存在的文件。缺点是,每当文件移动时,您都会重新复制该文件,但至少您不会再为目标上的旧位置浪费空间。