CentOS7下使用Lsyncd实现文件实时同步
作者:域名 来源:人工智能 浏览: 【大中小】 发布时间:2025-11-04 07:34:38 评论数:

Lsyncd简单介绍
Lsyncd 使用文件系统事件接口(inotify 或 fsevents)来监视本地文件和目录的下使现文更改。
Lsyncd 在几秒钟内将这些文件事件整理核对后,实时同然后生成一个或多个进程以将更改同步到远程文件系统。下使现文默认使用的实时同同步方法是rsync。因此,下使现文Lsyncd 是实时同一种轻量级的实时镜像解决方案。
Lsyncd 相对容易安装,下使现文不需要新的实时同文件系统或块设备。Lysncd 不会影响本地文件系统的下使现文性能。作为 rsync 的服务器租用实时同替代方案,Lsyncd 还可以通过 rsync+ssh 推送更改。下使现文当文件或目录被重命名或移动到本地树中的实时同新位置时,rsync+ssh 允许更有效的下使现文同步。(相比之下,实时同plain rsync 通过删除旧文件然后重新传输整个文件来执行移动。下使现文)
Lsyncd 2.2.1 要求 rsync >= 3.1。
官方文档:
复制https://lsyncd.github.io/lsyncd/1.下面介绍CentOS7下使用Lsyncd实现文件实时同步
源服务器A:192.168.31.230目标服务器B:192.168.31.60需求:将A服务器上/var/log/nginx/目录下文件实时同步到B服务器中,并排除error.log
*1、A服务器上安装lsyncd前提是有配置EPEL源。
复制yum install lsyncd1.

添加如下内容
/etc/lsyncd.confsettings { logfile = "/var/log/lsyncd/lsyncd.log", statusFile = "/tmp/lsyncd.status", insist = true, inotifyMode = "Modify", statusInterval = 1}sync { default.rsyncssh, source="/var/log/nginx/", host="192.168.31.60", targetdir="/data/logs_backup", excludeFrom="/etc/lsyncd_exclude.lst", maxDelays = 5, delay = 0, rsync = { archive = true, compress = false, -- verbose = true }, ssh = { port = 8122 }}1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.要排除error.log*。
复制vi /etc/lsyncd_exclude.lsterror.log*1.2.

lsyncd -nodaemon /etc/lsyncd.conf运行查看下是否有报错,如果有报错根据报错情况排查配置文件问题。
复制lsyncd -nodaemon /etc/lsyncd.conf1.如下图所示,当curl http://192.168.31.230触发了access.log变动时会触发同步。

如果没有报错直接退出后就可以使用systemctl start lsyncd启动lsyncd即可。
5、设置为服务后台运行 复制systemctl enable lsyncd.servicesystemctl start lsyncd.servicetail -f /var/log/lsyncd/lsyncd.log1.2.3.
以上就是使用Lsyncd实现文件自动同步的过程。
要比之前的文章记一次利用GrayLog实现采集与备份云服务器Web访问日志的实现过程的方式更简单。b2b信息网
