首页 小组 文章 搜索 用户

[数据同步]centos编译安装lsyncd实现多目录文件双向同步

2020-09-07 10:36:15
0
160

场景,公司需要多台文件进行同步,多目录文件进行同步,分别有server1、2,如果只是单项同步,比如server1同步到server2,server2是不需要安装lsyncd的,可以直接进行ssh同步。这里是双向同步所以必须二台都需要安装。

server1IP地址: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台服务器做好免密登录:https://www.osyum.com/article/show/346/

接下来做配置文件

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,即可。

评论