bash <(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/ChangeMirrors.sh) vim /etc/yum.repos.d/CentOS-Base.repo gpgcheck=0 yum update
yum install -y gcc gcc-c++ lua lua-devel libxml2 libxml2-devel rsync
wget https://github.com/lsyncd/lsyncd/archive/refs/tags/v2.3.1.tar.gz tar xvf v2.3.1.tar.gz && cd lsyncd-2.3.1 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lsyncd make && make install ln -s /usr/local/lsyncd/bin/lsyncd /usr/bin/lsyncd
ssh-keygen ssh-copy-id root@172.16.2.191 ssh-copy-id root@172.16.2.192
vim /etc/lsyncd.conf
settings { logfile = "/var/log/lsyncd.log", --日志路径 statusFile = "/var/log/lsyncd.status", --状态文件 pidfile = "/var/run/lsyncd.pid", --pid文件路径 statusInterval = 1, --状态文件写入最短时间 nodaemon = false, --daemon运行 maxProcesses = 1, --最大进程 maxDelays = 1, --最大延迟 } sync { default.rsyncssh, --默认rsync+ssh,rsync版本需要升级3以上版本 source = "/usr/local/nginx/conf/", --源目录 delete = true, --保持完全同步 host = "root@172.16.2.192", targetdir = "/usr/local/nginx/conf/", --目标目录 exclude={ ".txt" --需排除的文件 }, rsync = { binary = "/usr/bin/rsync", --需先安装好rsync archive = true, --归档 compress = false, --压缩 owner = true, --属主 perms = true, --权限 whole_file = false }, ssh = { port = 22 } }
$ vim /etc/sysconfig/lsyncd
添加如下内容:
LSYNCD_OPTIONS="/etc/lsyncd.conf"
$ vim /usr/lib/systemd/system/lsyncd.service
[Unit] Description=Live Syncing (Mirror) Daemon After=network.target
[Service] Type=simple EnvironmentFile=-/etc/sysconfig/lsyncd ExecStart=/usr/local/lsyncd/bin/lsyncd -nodaemon $LSYNCD_OPTIONS
[Install] WantedBy=multi-user.target
$ systemctl start lsyncd $ systemctl enable lsyncd
cat /var/log/lsyncd.log
|