使用lsyncd技术使两台linux服务器上的项目实现同步

6 篇文章 0 订阅
1 篇文章 0 订阅

下面开始详细讲解配置过程及过程中可能遇到的问题:

现有两台linux主机:

192.168.1.10  //主机器
192.168.1.11  //辅机器

以下操作均在主机器上进行:

安装

apt-get install lsyncd
apt install rsync

查看安装版本

lsyncd -version

创建必要文件夹

mkdir /etc/lsyncd
mkdir /var/log/lsyncd
touch /var/log/lsyncd/lsyncd.{log,status}

配置免密登陆

ssh-keygen -t rsa
ssh-copy-id root@192.168.1.11  //用户名@辅机器的ip地址;执行后需输入辅机器的远程连接密码
ssh root@192.168.1.11 //无需密码即可登陆

配置文件

cd /etc/lsyncd/
vim lsyncd_nginx.lua

配置文件内容:

settings  {
    logfile = "/var/log/lsyncd/lsyncd.log",  --定义日志文件
    statusFile = "/var/log/lsyncd/lsyncd.status", --定义状态文件
    maxProcesses = 20  -- 同步进程的最大个数。假如同时有20个文件需要同步,而maxProcesses = 8,则最大能看到有8个rysnc进程
}

sync {
        default.rsyncssh,
        source = "/home/ubuntu/test",  --源目录
        host = "root@192.168.1.11",   --目的主机
        targetdir = "/home/ubuntu/test", --远程目录
        exclude = {                      --需要排除的文件或文件夹
        "application/config/database.php",
        "application/config/mf_config.php",
        "application/wxRefundNotifyLog.txt"
    	},
        init = false, --这是一个优化选项,当init = false,只同步进程启动以后发生改动事件的文件,原有的目录即使有差异也不会同步。默认是true
        delay = 0, --延时同步的秒数

rsync  = {
	        binary    = "/usr/bin/rsync",
	        archive   = true,
	        compress  = true, --压缩传输默认为true。在带宽与cpu负载之间权衡,本地目录同步可以考虑把它设为false
	        verbose   = true
		},

ssh   = {
        	port  = 22
        }
}

保存后执行以下命令重启

/etc/init.d/lsyncd restart

运行lsyncd

lsyncd lsyncd_nginx.lua

查看是否运行

ps -ef |grep lsyncd

root      8058     1  0 13:49 ?        00:00:00 lsyncd lsyncd_nginx.lua
root      8070  7802  0 13:50 pts/2    00:00:00 grep --color=auto lsyncd

最后在主服务器的/home/ubuntu/test下创建一个文件会发现辅服务器上也会有这个文件

问题:
如果未能实现同步,可查看/var/log/lsyncd/lsyncd.log日志文件内容
如果内容中有:ssh_askpass: exec(/usr/bin/ssh-askpass): No such file or directory
则你需要执行:

sudo apt install ssh-askpass
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值