在将文件写入磁盘后,是否有任何工具可用于在两个或多个linux服务器之间同步文件?rsync命令不适合我这样做,因为如果我在cron中设置了rsync,我可以设置的最小时间是1分钟,但我需要实时设置。
发布于 2016-08-31 18:48:50
我没有用过,但最近读到了。有一个名为lsyncd的守护进程,我认为它可以完全满足您的需要。
了解更多关于it的信息,这里
发布于 2016-09-01 10:43:49
多主模式下多服务器间的
有一个很好的工具叫做lsyncd,可以实时同步多台服务器之间的文件。在这里,我尝试了两台服务器。
主机: Server1和Server2
使用的操作系统: CentOS 7
在两个服务器上安装下面的软件包。
# yum install -y epel-release
# yum -y install lua lua-devel pkgconfig gcc asciidoc lsyncd在两个服务器中生成ssh-key并添加到authorized_keys文件中。[将server1公钥添加到server1 2‘S authorized_keys中,将server2公钥添加到server1 1’S authorized_keys文件中]
打开/etc/lsyncd.conf并在行首使用--注释掉默认配置,然后将下面的配置添加到文件中。
settings {
logfile = "/var/log/lsyncd/lsyncd.log",
delay = 1
}
sync {
default.rsync,
source="/home/test/public_html/",
target="server2:/home/test/public_html/",
rsync = {
compress = true,
acls = true,
verbose = true,
owner = true,
group = true,
perms = true,
rsh = "/usr/bin/ssh -p 22 -o StrictHostKeyChecking=no"
}
}更改target参数中的目标IP。
您可以根据需要更改delay参数。这里设置为1秒。
现在创建日志目录。
# mkdir -p /var/log/lsyncd启用lsyncd服务自动启动。
# systemctl enable lsyncd.service开始服务。
# systemctl start lsyncd.service遵循与Server1相同的配置,并更改target IP。
现在同步设置好了。
您可以从tailf /var/log/lsyncd/lsyncd.log检查活动。
感谢MelBurslan的建议。
发布于 2017-10-28 11:42:56
同步可能是一种选择。它非常快,传输是加密的,还有多个平台的客户端。它使用"inotify“立即同步已更改的文件。
https://unix.stackexchange.com/questions/307046
复制相似问题