Answers:
我自己没有使用过,但是最近才读过。有一个名为的守护程序lsyncd
,我认为它完全可以满足您的需求。
在此处了解更多信息
lsyncd
使用inotify
&应该是fs级别上最快的。更多信息,请访问github.com/axkibe/lsyncd。从该页面:Lsyncd监视本地目录树事件监视器界面(inotify或fsevents)。它会汇总并合并事件几秒钟,然后生成一个(或多个)进程来同步更改。默认情况下,这是rsync。因此,Lsyncd是一种轻量级的实时镜像解决方案,相对易于安装,不需要新的文件系统或块设备,并且不会影响本地文件系统的性能。
有一个很好的工具,称为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的公钥添加到server2的文件,authorized_keys
并将server2的公钥添加到server1的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的建议。
“用于Linux的SIOS Protection Suite”可以在AWS上提供此功能。