通过两台服务器之间的守护进程和 cron 作业,rsync 中存在数据损坏的可能性

通过两台服务器之间的守护进程和 cron 作业,rsync 中存在数据损坏的可能性

我已经设置了两台服务器,每 5 分钟使用rsync守护进程和作业进行同步。cron

  • 服务器 A 有一个守护程序,可通过别名提供文件夹。
  • 服务器 B 有一个守护程序,可以通过别名提供文件夹(相同路径)。
  • 服务器 A 有一项cron作业将文件夹(相同路径)同步到服务器 A 的守护程序别名。
  • 服务器 B 有一项cron作业将文件夹(相同路径)同步到服务器 A 的守护程序别名。
  • rsync命令给出了参数-urtzv
  • 服务器时钟已同步。
  • cron作业每 5 分钟运行一次(在钟面上的 5 分钟刻度处),因此两台服务器将同时(大约)执行。

这样做有什么潜在的问题吗?具体来说:

  • rsync由于两台服务器同时执行,是否会出现数据损坏?或者守护进程是否智能地处理冲突?
  • 如果(例如)服务器 A 向服务器 B 传输超过 5 分钟(在单次rsync运行中),但服务器 B在服务器 A 上的rsync长时间运行rsync开始后约 5 分钟以另一种方式执行,是否会出现数据损坏?
  • 在最后一种情况下,如果除此之外,服务器 A 上的另一个进程也写入文件超过 5 分钟,是否会出现数据损坏?

我读到并行运行rsync两次(在同一服务器和源/目标上)在数据完整性方面应该是安全的,尽管它可能会降低性能。我还了解到,rsync将传入的数据存储在临时文件中,只有在传输完成后才将它们移动到永久文件中。但我不确定rsync在两台服务器上设置同时同步双向时的行为。

如果在服务器故障中更好地询问这个问题,请告诉我。

相关内容