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 (進程號)