我有一个活动即将到来,我们将有许多学生使用笔记本电脑来做工作。所有系统都将从基线图像中复制出来。我想要做的只是捕获事件期间系统上已更改/修改的数据。第一个想法是将时间戳文件放在基线图像中,然后使用&find;找到--newer timestampfile'生成自创建基线以来已更改的文件列表,然后再备份这些文件。然后我发现rsync可能能够使用--backup和--backup-dir选项来帮助解决这个问题。除了一件事,它几乎完美无缺。此外,它可以基于校验和而不仅仅是时间戳。
在测试中,我在本地磁盘上设置了一些测试文件系统来模拟操作。如果我运行类似的东西:
rsync -cavhP --fake-super --backup --backup-dir = / backup / host1-backup host1-fs baseline-fs
它工作正常,我从第一个主机目录的基线获得了差异,但任何后续主机目录都无法正常工作。它几乎就像使用第一次同步设置的检查点一样。
有没有办法告诉rsync不要更新基线目录中的任何内容,这样我就可以将多个目标主机的更改与基础进行rsync同步?
谢谢, -d
答案 0 :(得分:0)
使用rsync还有更多时间,我已经在这里找到解决方案,所以我想我会分享。 --compare-dest选项就是诀窍。
首先,创建比较基线:
rsync -ave" ssh -i~ / .ssh / id_rsa" / local / path user @ backuphost:/ path / to / baseline
然后,在每个主机上,您要捕获以下内容的更改:
rsync -ave" ssh -i~ / .ssh / id_rsa" --compare-dest = / path / to / baseline / local / path user @ backuphost:/ path / to / differential / backup
请注意,传递给--compare-dest的路径只是远程主机上的路径,这一点很重要。你必须在那里省略用户@backuphost。
-d