目的
使用lsyncd+ssh实现两台服务器之间目录的同步;
环境
Centos 6.4
lsyncd 2.1.5
安装配置
配置SSH无密码访问
在Server A上执行
#ssh-keygen -t rsa
#cat ~/.ssh/id_rsa.pub | ssh root@10.10.200.173 "cat - >> ~/.ssh/authorized_keys"
在Server B上执行
#ssh-keygen -t rsa
#cat ~/.ssh/id_rsa.pub | ssh root@10.10.200.172 "cat - >> ~/.ssh/authorized_keys"
通过以上配置就可完成ssh无密码访问。
安装lsyncd
安装依赖包
#yum install lua lua-devel lua-static
获取lsyncd源码包
#wget http://lsyncd.googlecode.com/files/lsyncd-2.1.5.tar.gz
安装lsyncd
#./configure
#make
#make install
配置lsyncd
编写lsyncd配置文件/etc/lsyncd.lua
settings {
logfile = "/var/log/lsyncd/lsyncd.log",
statusfile = "/var/log/lsyncd/lsyncd.status",
maxDelays = 1,
delay = 1,
maxPrcesses = 6,
statusInterval =20
}
sync {
default.rsyncssh,
source = "/root/tools",
host = "10.10.200.173",
targetdir = "/root/tools"
}
运行lsyncd
#lsyncd /etc/lsyncd.lua
查看lsyncd运行
#tail -f /var/log/lsyncd/lsyncd.log
Fri Oct 18 13:33:17 2013 Normal: recursive startup rsync: /root/tools/ -> 10.10.200.173:/root/tools/
Fri Oct 18 13:33:18 2013 Normal: Startup of "/root/tools/" finished: 0
Fri Oct 18 13:34:24 2013 Normal: Rsyncing list
/dbt2-0.40.tar.gz
Fri Oct 18 13:34:25 2013 Normal: Finished (list): 0
通过日志可以得知lsyncd已经开始同步工作。