使用lsyncd实时同步.

安装lua关联包:

yum install lua lua-static lua-devel

 

安装lsyncd

wget https://lsyncd.googlecode.com/files/lsyncd-2.1.5.tar.gz

tar -xzvf lsyncd-2.1.5.tar.gz

cd lsyncd-2.1.5

./configure -prefix=/usr/local/lsyncd

make&&make install

 

ln -s /usr/local/lsyncd/bin/lsyncd /usr/bin/lsyncd

 

配置lsyncd

本地模式:

mkdir /usr/local/lsyncd/etc

cd /usr/local/lsyncd/etc

vim lsyncd.conf.lua

settings{

    logfile ="/var/log/lsyncd.log",

    statusFile ="/var/log/lsyncd-status.log",

    pidfile ="/var/run/lsyncd.pid",

    statusInterval =20,

nodaemon =false, --测试可以开启

inotifyMode ="CloseWrite",

    maxProcesses =4,

    maxDelays =1,

}

 

sync{

    default.rsync, 

    source ="/data/test1",

   target ="/data/test2",

    maxDelays = 5,

    delay = 30,

 

    rsync ={

        binary ="/usr/bin/rsync",

        archive =true,

        compress =true,

        owner =true,

        perms =true,

        _extra ={"--include=*-G.jpg","--exclude=*"},

   },

}

参数说明:

--//表示注释。

nodaemon=true//表示不启用守护模式。默认是启用。

 

sync里面是定义同步参数,指定默认以直接模式direct运行。

Lsyncd支持rsyncrsyncsshdirect三种模式。

maxDelays 累计到多少所监控的事件激活一次同步,即使后面的delay延迟时间还未到

delay 累计事件,等待rsync同步延时时间,默认15秒(最大累计到1000个不可合并的事件)。

 

详细参数说明:

https://github.com/axkibe/lsyncd/wiki/Lsyncd%202.1.x%20%20Layer%204%20Config%20%20Default%20Behavior

 

启动:

lsyncd /usr/local/lsyncd/etc/lsyncd.conf.lua 

 

同步远程服务器目录:

远程目录有两种模式,rsync模式和rsyncssh模式。

Rsync模式配置:

settings{

    logfile ="/var/log/lsyncd.log",

    statusFile ="/var/log/lsyncd-status.log",

    pidfile ="/var/run/lsyncd.pid",

    statusInterval =20,

    nodaemon =false, --测试可以开启

    maxProcesses =4,

    maxDelays =1,

}

 

sync{

    default.rsync, 

    source ="/data/test1",

target ="[email protected]:/data/test2",

    rsync ={

        binary ="/usr/bin/rsync",

        archive =true,

        compress =true,

        owner =true,

        perms =true,

        password_file="/etc/rsyncd/rsyncd.password",

        _extra ={"--include=*-G.jpg","--exclude=*"},

   },

}

你可能感兴趣的:(rsync,inotify,lsyncd,rsync+inotify)