使用lsyncd实现多台机器的文件同步
多台机器的ssh互信
ssh-copy-id 对方的机器IP或者主机名
下载安装lsyncd
yum install http://rpmfind.net/linux/epel/7/x86_64/Packages/l/lsyncd-2.2.2-1.el7.x86_64.rpm
配置lsyncd.conf文件
vi /etc/lsyncd.conf #修改配置文件
settings {
logfile = "/var/log/lsyncd/lsyncd.log", --日志输入文件
statusFile = "/var/log/lsyncd/lsyncd.status",--文件状态输出文件
inotifyMode = "CloseWrite",--监控模式
maxProcesses = 1,-- 最大进程
nodaemon=true,--后台守护模式
maxDelays=20,--最大的监听事件数,监听的事件进行排队,即使后面的delay时间还没到,同步文件仍然进行
}
sync{
default.rsyncssh,
source="本机位置",--本机要同步的目录
host="对方IP",
targetdir="对方同步位置",
init=false,--初始化false,表示只同步lsyncd进程启动后发生的变化
delete=true,--默认模式,进程启动期间和运行期间,如果发生删除事件,同步到目标主机。
delay=10,--同步事件,默认15秒,也就是每到delay时间,就进行同步一次。
rsync = {
binary = "/usr/bin/rsync",--rsyncd程序位置
archive = true,
compress = true,--压缩传输默认为true,
verbose = true
},
ssh = {
port =22
}
}
启停lsyncd
service lsyncd start/stop
或者
nohup /usr/bin/lsyncd /etc/lsyncd.conf &
查看日志和状态
tail -f /var/log/lsyncd/lsyncd.log
tail -f /var/log/lsyncd/lsyncd.status