Lsyncd简介Lsyncd使用文件系统事件接口(inotify或fsevents)来监控本地文件和目录的变化。Lsyncd在几秒钟内整理这些文件事件,然后生成一个或多个进程以将更改同步到远程文件系统。使用的默认同步方法是rsync。因此,lsyncd是一个轻量级的实时镜像解决方案。Lsyncd相对容易安装,不需要新的文件系统或块设备。Lysncd不影响本地文件系统的性能。作为rsync的替代方案,lsyncd还可以通过rsync+ssh推送更改。当文件或目录被重命名或移动到本地树中的新位置时,rsync+ssh允许更有效的同步。(相比之下,普通rsync通过删除旧文件然后重新传输整个文件来执行移动。)Lsyncd2.2.1要求rsync>=3.1。官方文档:https://lsyncd.github.io/lsyncd/下面介绍在CentOS7下使用lsyncd实现文件实时同步。nginx/目录下的文件实时同步到B服务器,error.log*1。在A服务器上安装lsyncd的前提是配置好EPEL源。yuminstalllsyncd2,A服务器配置到B服务器免密码登录ssh-keygen-trsa-b4096ssh-copy-id-p8122root@192.168.31.60ssh-p8122root@192.168.31.603,配置/etc/lsyncd.confmv/etc/lsyncd.conf/etc/lsyncd.conf_defaultvi/etc/lsyncd_exclude.lstvi/etc/lsyncd.conf添加如下内容/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}}排除error.log*。vi/etc/lsyncd_exclude.lsterror.log*4。查看配置文件,测试lsyncd-nodaemon/etc/lsyncd.conf是否有错误。如果有错误,根据错误检查配置文件。lsyncd-nodaemon/etc/lsyncd.conf如下图所示,当curlhttp://192.168.31.230触发access.log变化时,会触发同步。如果没有报错直接退出,可以使用systemctlstartlsyncd来启动lsyncd。5、设置为服务后台运行systemctlenablelsyncd.servicesystemctlstartlsyncd.servicetail-f/var/log/lsyncd/lsyncd.log以上就是使用lsyncd实现文件自动同步的过程。记录下使用GrayLog实现云服务器web访问日志的收集和备份的实现过程,比上篇更简单。
