两台机器同时rsync 运行

rsync running at the same time on two machines

我想在两台机器上设置 rsync 到 运行。

Machine A rsync to Machine B
Machine B rsync to Machine A

运行同时在两台机器上同步rsync,同步相同的文件会有什么风险吗?

如果你非常小心,你可以做到:

  1. 确保使用 --times 以便时间戳始终匹配,并确保使用 --update 以便它不会覆盖较新的版本。

  2. 对同步树之外的目录使用--temp-dir,这样rsync 在扫描期间不会找到任何临时文件。但是,临时目录应该与目标位于同一文件系统上,否则将无法进行原子移动。

  3. 不要使用--inplace--delete--checksum的任何变体。

即便如此,我还是会先用一种方式,然后用另一种方式,或者使用像 SyncThing 这样的工具。