【问题标题】:Can I use rsync to capture diffs from multiple systems against a baseline?我可以使用 rsync 来针对基线捕获来自多个系统的差异吗?
【发布时间】:2015-09-16 03:47:40
【问题描述】:

我有一个活动即将举行,我们将有很多学生使用笔记本电脑工作。所有系统都将从基线图像复制。我要做的是仅捕获事件期间系统上已更改/修改的数据。第一个想法是在基线图像中放置一个时间戳文件,然后使用“find --newer timestampfile”生成自基线创建以来已更改的文件列表,然后将其备份。然后我想到 rsync 可以使用 --backup 和 --backup-dir 选项来帮助解决这个问题。这几乎是完美的,除了一件事。此外,它可以基于校验和而不仅仅是时间戳。

在测试中,我在本地磁盘上设置了一些测试文件系统来模拟操作。如果我运行类似:

rsync -cavhP --fake-super --backup --backup-dir=/backup/host1-backup host1-fs baseline-fs

它工作正常,我从第一个主机目录的基线中得到了差异,但是任何后续主机目录都不能正常工作。就好像他们正在使用第一次同步设置的检查点。

有没有办法告诉 rsync 不要更新基线目录中的任何内容,以便我可以将来自多个目标主机的更改与基础目录进行 rsync 同步?

谢谢, -d

【问题讨论】:

    标签: rsync


    【解决方案1】:

    更多时间使用 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 的路径只是远程主机上的路径。您必须在此处省略 user@backuphost。

    -d

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-07
      • 1970-01-01
      • 1970-01-01
      • 2023-04-09
      • 2020-02-22
      • 2016-05-23
      • 1970-01-01
      相关资源
      最近更新 更多