##如果想要将服务端的数据同步到客服端,服务端必须拥有免密码登录客服端的权限,可以设置密钥登录来完成。只需要两条命令即可,下面的命令在服务端服务器执行: #生成密钥文件 ssh-keygen -t rsa #将公钥拷贝到客服端 ssh-copy-id root@客服端ip #测试 ssh root@客服端ip ##如果客服端不是使用的22作为SSH端口,需要-p参数指定端口号 #安装epel源 yum -y install epel-release #安装lsyncd yum -y install lsyncd #查看lsyncd版本 lsyncd --version ###################################################################### #vi /etc/lsyncd.conf修改配置文件,注释或删除掉默认的最后一行,然后添加自己的配置。 ---- -- User configuration file for lsyncd. -- -- Simple example for default rsync, but executing moves through on the target. -- -- For more examples, see /usr/share/doc/lsyncd*/examples/ -- -- sync{default.rsyncssh, source="/var/www/html", host="localhost", targetdir="/tmp/htmlcopy/"} -- settings { logfile = "/var/log/lsyncd/lsyncd.log", statusFile = "/var/log/lsyncd/lsyncd.status", maxProcesses = 1 } sync { default.rsyncssh, source = "/usr/local/nginx.application", host = "192.168.1.1", targetdir = "/home/nginx.application", init = false, delay = 0, rsync = { binary = "/usr/bin/rsync", archive = true, compress = true, verbose = true }, ssh = { port = 22000 } } sync { default.rsync, source = "/usr/local/nginx.application", target = "/home/nginx.application", -- excludeFrom = "/etc/rsyncd.d/rsync_exclude.lst", rsync = { binary = "/usr/bin/rsync", archive = true, compress = true, verbose = true } } 部分参数说明 settings为全局配置,部分参数如下: ogfile 定义日志文件 stausFile 定义状态文件 nodaemon=true 表示不启用守护模式,默认 statusInterval 将lsyncd的状态写入上面的statusFile的间隔,默认10秒 inotifyMode 指定inotify监控的事件,默认是CloseWrite,还可以是Modify或CloseWrite or Modify maxProcesses 同步进程的最大个数。假如同时有20个文件需要同步,而maxProcesses = 8,则最大能看到有8个rysnc进程 maxDelays 累计到多少所监控的事件激活一次同步,即使后面的delay延迟时间还未到 sync为同步配置,部分参数如下: lsyncd以什么模式运行:rsync、rsyncssh、direct三种模式: default.rsync :本地目录间同步,使用rsync,也可以达到使用ssh形式的远程rsync效果,或daemon方式连接远程rsyncd进程; default.direct :本地目录间同步,使用cp、rm等命令完成差异文件备份; default.rsyncssh :同步到远程主机目录,rsync的ssh模式,需要使用key来认证 nit 这是一个优化选项,当init = false,只同步进程启动以后发生改动事件的文件,原有的目录即使有差异也不会同步。默认是true delay 累计事件,等待rsync同步延时时间,默认15秒(最大累计到1000个不可合并的事件)。也就是15s内监控目录下发生的改动,会累积到一次rsync同步,避免过于频繁的同步。(可合并的意思是,15s内两次修改了同一文件,最后只同步最新的文件) delete 为了保持target与souce完全同步,Lsyncd默认会delete = true来允许同步删除。它除了false,还有startup、running值, compress 压缩传输默认为true。在带宽与cpu负载之间权衡,本地目录同步可以考虑把它设为false source:本地文件目录 host:远程服务器地址 targetdir:远程目标目录 port:目前主机SSH端口号,默认为22 #启动lsyncd lsyncd /etc/lsyncd.conf 从同步文件误删或被改,主同步关闭lsyncd,重启之后就恢复,因为已经被写死,重启之后全部跟主同步一样 killall lsyncd systemctl start lsyncd.service #查看lsyncd服务进程 ps -ef | grep lsyncd
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)