不同Linux服务器之间的文件夹同步?

不同Linux服务器之间的文件夹同步?

我有一个由多个节点组成的集群,现在需要在这些节点上同步一个文件夹,每个节点的文件夹都可能添加新文件,一旦其中一个节点的文件夹中添加了新文件,就需要将其同步到其他节点。

我想知道有什么好的办法可以解决这个问题。希望你能帮助我,谢谢!

答案1

一个行之有效的方法是使用rsync

对于多个节点,最好创建一个脚本(包含节点地址/或名称、同步的文件夹列表以及可能的某种参数)。

如果同步中的小延迟不会造成问题,那么我会添加一行crontab以间隔(例如每小时)运行脚本。最好考虑文件数量、文件大小以及复制新文件所需的时间。

如果延迟可能是一个问题,那么有一些更好但更复杂的解决方案 - 网络共享,分布式文件系统等。

脚本示例:

#! /bin/sh

#don't put our own ip/name here!

nodes="1.2.3.4 10.20.30.40 10.0.0.1"

folder="/data/work"

for node in $nodes ; do

rsync -aqW $folder/ $node:$folder

done

答案2

让我建议网络存储.由于只有一个文件夹,所以不存在同步问题。

答案3

如果这些变化通常没有冲突,同步可能会有用。

与 NAS 不同的是,每台机器都是完全独立的,但是当您在不同的机器上写入多个具有相同名称的文件时,除一个文件之外的所有文件都会被重命名(在文件名后附加校验和),您需要决定保留哪些文件。

相关内容