Ubuntu18.04 Lsyncd 目录和文件同步
环境
nginx1: 192.168.1.11
nginx2: 192.168.1.12
安装
apt-get install lsyncd
apt install rsync
查看安装的版本
lsyncd -version
Version: 2.1.5
创建必要文件夹
mkdir /etc/lsyncd
mkdir /var/log/lsyncd
touch /var/log/lsyncd/lsyncd.{log,status}
配置免密登陆
ssh-keygen -t rsa
ssh-copy-id [email protected]
ssh [email protected] (无需密码即可登陆)
配置文件
cd /etc/lsyncd/
vim lsyncd_nginx.lua
settings {
logfile = "/var/log/lsyncd/lsyncd-nginx.log", --定义日志文件
statusFile = "/var/log/lsyncd/lsyncd-nginx.status" --定义状态文件
}
sync {
default.rsyncssh,
source = "/etc/nginx", --源目录
host = "192.168.1.12", --目的主机
targetdir = "/etc/nginx", --远程目录
delete = true,
delay = 0, --延迟
-- exclude={
-- ".txt" --排除
-- },
rsync = {
binary = "/usr/bin/rsync",
archive = true, --归档
compress = true, --压缩
verbose = true,
owner = true, --属主
perms = true, --权限
_extra = {"--bwlimit=2000"},
},
ssh = {
port = 22
}
}
运行
lsyncd lsyncd_nginx.lua
查看效果
root@nginx-1:/etc/lsyncd# 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
在192.168.1.11的/etc/nginx/ 创建一个1的文件
在192.168.1.12的/etc/nginx/查看1的文件是否存在
关闭实时同步
kill -9 8058 (进程号)