扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
主机列表:
成都创新互联主要从事成都网站建设、网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务平泉,10多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220
服务端:172.16.2.5/sense2 目标端:172.16.2.4/sense1
服务启动: /usr/bin/lsyncd /etc/lsyncd.conf
服务关闭:ps -ef |grep lsyncd |grep -v grep |awk '{print $2}'|xargs killlsyncd优势:官网及virbox发版每次都是发布两个节点,发版了sense2,同时手动执行scp同步文件到sense1对应目录下。使用lsyncd避免了scp,简化了发布流程,只需在sense2上发版即可,同时防止scp文件容易出错的情况。
1.服务端(sense2)安装:
yum install epel-release
yum install lsyncd
2.目标端(sense1)安装:yum install rsync
3.服务端配置:
vim /etc/lsyncd.conf
settings {
logfile = "/var/log/lsyncd/lsyncd.log", #日志文件
status File = "/var/log/lsyncd/lsyncd.status", #状态文件
inotifyMode = "CloseWrite or Modify", #指定inotify监控事件
}
sync {
default.rsyncssh, #同步到远程主机目录,rsync的ssh模式,利用ssh传输,前提是服务端与目标端建立了信任关系。
source = "/usr/share/nginx/html/", #本地目录同步
host = "172.16.2.5", #远程主机
targetdir = "/home/data/bakk/", #远程同步目录
delay = 30, #等待rsync同步延时时间,也就是30s时间监控目录下发生的改动,会累积一次rsync同步。如30s对一个文件做两次更改,会同步第二次修改的。
delete = true, #保持target与source一致。默认参数。这个参数是在刚启动lsyncd的时候用到,启动后,在远程同步目录做增删改操作,也不会把本地目录相应的文件同步过去。
rsync = {
binary = "/usr/bin/rsync",
owner = true, #保留服务端的属主
group = true, #保留服务端的属组
perms = true, #保留服务端的权限
}
}
4.启动lsync:/usr/bin/lsyncd /etc/lsyncd.conf
5.测试:
把sense2上的/usr/share/nginx/html同步到sense1/home/data/bakk中。实时的处于监听目录改变,有改变就同步。
把sense1上的同步目录和sense1的/usr/share/nginx/html文件做对比,文件是一致的。
对比方式:find ./bakk -type f |xargs openssl md5 | awk -F "=" '{print $2}' >a.txt
find /usr/share/nginx/html -type f |xargs openssl md5 | awk -F "=" '{print $2}' >b.txt
diff a.txt b.txt
参考文档:https://axkibe.github.io/lsyncd/manual/invoking/
https://www.cnblogs.com/zxci/p/6243574.html
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流