centos编译安装lsyncd实现多目录文件双向同步
场景,公司需要多台文件进行同步,多目录文件进行同步,分别有server1、2,如果只是单项同步,比如server1同步到server2,server2是不需要安装lsyncd的,可以直接进行ssh同步。这里是双向同步所以必须二台都需要安装。
server1 IP地址:192.168.0.5 同步目录/home/we,/home/abc
server2 IP地址:192.168.0.6 同步目录/home/we,/home/abc
2台都需要安装lsyncd先安装支持组件
yum -y install epel*
yum update -y
yum install git cmake3 lua lua-devel -y
yum install -y groupinstall pcre-devel zlib-devel gcc gcc-c++ autoconf automake make pcre-devel zlib-devel
yum -y install pcre-devel ctags-etags openssl openssl-devel
yum install lz4* libzstd* xx* net-tools -y
下载编译安装lsyncd
git clone https://github.com/axkibe/lsyncd.git
cd lsyncd
mkdir build
cd build
cmake3 ../
make&&make install
3台服务器做好免密登录
接下来做配置文件
server1上创建/etc/lsyncd.conf文件
settings {
logfile = "/tmp/lsyncd.log",
statusFile = "/tmp/lsyncd.status",
insist = true,
statusInterval = 3
}
sync
{
default.rsyncssh,
source="/home/we/",
host="192.168.0.6",
targetdir="/home/we/",
}
sync
{
default.rsyncssh,
source="/home/abc/",
host="192.168.0.6",
targetdir="/home/abc/"
}
在server2上创建/etc/lsyncd.conf上创建文件
settings {
logfile = "/tmp/lsyncd.log",
statusFile = "/tmp/lsyncd.status",
insist = true,
statusInterval = 3
}
sync
{
default.rsyncssh,
source="/home/we/",
host="192.168.0.5",
targetdir="/home/we/",
}
sync
{
default.rsyncssh,
source="/home/abc/",
host="192.168.0.5",
targetdir="/home/abc/"
}
参数如下:
logfile:日志文件路径
statusFile:进程路径
insist:继续运行,即使有失败的目标。
statusInterval:多少秒写入文件,默认是10s
sync为同步配置,部分参数如下:
source:本地文件目录
host:远程服务器地址
targetdir:远程目标目录
在server1测试
lsyncd -nodaemon /etc/lsyncd.conf
后台运行
lsyncd -nodaemon /etc/lsyncd.conf&
现在已经同步了
在server2测试
lsyncd -nodaemon /etc/lsyncd.conf
后台运行
lsyncd -nodaemon /etc/lsyncd.conf&
现在已经可以双向同步了
如果有多台服务器,可以使用多个lsyncd.conf进行配置,例,同步到 server8,的创建一个配置文件8lsyncd.conf,运行命令lsyncd -nodaemon /etc/8lsyncd.conf,即可。
版权申明
本文系作者 @天边的云 原创发布在Loshub站点。未经许可,禁止转载。
暂无评论数据