lsyncd文件同步

 1、安装
安装
sudo apt install lsyncd rsync
 
配置文件事例:
/usr/share/doc/lsyncd/examples
 
启动服务
sudo systemctl restart lsyncd
 
查看服务状态
sudo systemctl status lsyncd
 
lsb_release -a
Ubuntu 18.04.3 LTS

lsyncd -version
Version: 2.1.6
2、配置
/etc/lsyncd/lsyncd.conf.lua
 
需要创建/etc/lsyncd和/var/log/lsyncd目录
 
2.1)本地目录同步,如果同步多个目录可以复制多份sync
lsyncd.conf.lua内容:
settings {
    logfile    = "/var/log/lsyncd/lsyncd.log",
    statusFile = "/var/log/lsyncd/lsyncd.status",
    insist = true,
    statusInterval = 10
 }
sync {
       default.rsync,
       source="/data/a",
       target="/data/b",
       delay=0,
       exclude={'runtime'},
       delete='running',
       rsync = {
         archive = true,
         compress = true,
         owner=true,
         group=true,
         perms=true
       }
 }
 
 
2.2)远程目录同步
192.168.1.10 源机器(lsyncd),myuser1
192.168.1.20 目标机,myuser2
10源机器上生成ssh key
myuser1$ ssh-keygen -t rsa
myuser1$ ssh-copy-id myuser@192.168.1.20
 
先在10源机器上ssh key登录20目标机,成功后再配置lsyncd
myuser1$ ssh myuser2@192.168.1.20
 
源机器/home/myuser1/.ssh/id_rsa 私钥
目标机/home/myuser2/.ssh/authorized_keys 每一行都是一个pub key(源机器/home/myuser1/.ssh/id_rsa.pub内容)
 
lsyncd.conf.lua内容:
settings {
    logfile    = "/var/log/lsyncd/lsyncd.log",
    statusFile = "/var/log/lsyncd/lsyncd.status",
    insist = true,
    statusInterval = 10
 }
sync {
       default.rsyncssh,
       source="/data/a",
       host="myuser2@192.168.1.20",
       targetdir="/data/b",
       delay=0,
       exclude={'runtime'},
       delete='running',
       rsync = {
         archive = true,
         compress = true,
         owner=true,
         group=true,
         perms=true
       },
       ssh = {
         port=22,
         identityFile="/home/myuser1/.ssh/id_rsa"
       }
 }
原文地址:https://www.cnblogs.com/xiaomacs/p/11730397.html