• 欢迎访问db1024网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏db1024吧

CentOS 7安装Lsyncd实现文件实时同步备份

建站知识 Liam 1年前 (2019-04-29) 261次浏览 0个评论 扫描二维码
文章目录[隐藏]

说明:lsyncd是基于inotify + rsync的开源同步软件,支持增量同步,之前也讲到过通过Rsync同步方法,可参考:通过SSH使用Rsync同步两个VPS的文件,而本文所谈到的lsyncdResilio Sync相比优势是更加安全、占用资源更低,多种参数自定义配置更加方便。劣势是配置要比Resilio Sync麻烦一点,如果多台服务器的情况下速度可能不及Resilio Sync,因为Resilio Sync使用了P2P分享。

Lsyncd官方帮助手册:https://axkibe.github.io/lsyncd/
项目地址:https://github.com/axkibe/lsyncd

注意:本教程在CentOS 7系统测试,如果是CentOS 6系统可能部分地方略有不同,但流程和步骤都一样。

准备

有两台CentOS 7服务器,其中A:192.168.1.100文件需要实时同步到B:192.168.1.200

安装rsync

lsyncd基于rsync,且要求rsync >= 3.1,可输入rsync -v查看当前版本,如果不符合要求,按照以下方法升级rsync版本,两台服务器A/B均要安装rsync

升级步骤

#查看当前rsync版本 rsync -v #如果版本太低,直接卸载 yum -y remove rsync #下载rsync源码 wget https://download.samba.org/pub/rsync/rsync-3.1.2.tar.gz #解压 tar -zxvf rsync-3.1.2.tar.gz #进入目录 cd rsync-3.1.2 #编译安装 ./configure make install #查看是否升级成功 rsync -v 

设置密钥登录

如果想要将A的数据同步到BA必须拥有免密码登录B的权限,可以设置密钥登录来完成。只需要两条命令即可,下面的命令在A服务器执行:

#生成密钥文件 ssh-keygen -t rsa #将公钥拷贝到B ssh-copy-id [email protected] #测试 ssh [email protected] 

usernameB服务器用户名,remote-serverB服务器IP地址,如果服务器不是使用的22作为SSH端口,需要-p参数指定端口号。更多说明可参考:SSH无密码登录:只需两个简单步骤 (Linux)

安装epel仓库

CentOS 7内置的源并没有包括Lsyncd,可以自行编译安装Lsyncd,不过更简单的办法是先安装epel源,就可以直接yum安装了,以下命令再A服务器执行。

yum -y install epel-release 

安装lsyncd并配置

如果已经安装了epel仓库,直接输入下面的命令安装lsyncd即可,一下命令在A服务器执行。

#安装lsyncd yum -y install lsyncd #查看lsyncd版本 lsyncd --version 

安装完成后配置文件位于/etc/lsyncd.conf,会看到如下的内容,其中--是注释符。

---- -- User configuration file for lsyncd. -- -- Simple example for default rsync, but executing moves through on the target. -- -- For more examples, see /usr/share/doc/lsyncd*/examples/ -- sync{default.rsyncssh, source="/var/www/html", host="localhost", targetdir="/tmp/htmlcopy/"} 

vi /etc/lsyncd.conf修改配置文件,注释或删除掉默认的最后一行,然后添加自己的配置。

settings {    logfile    = "/tmp/lsyncd.log",    statusFile = "/tmp/lsyncd.status",    insist = true,    statusInterval = 10 } sync {    default.rsyncssh,    source="/home/test1",    host="192.168.1.200",    targetdir="/home/test2",    rsync = {      archive = true,      compress = false,      whole_file = false    },    ssh = {      port = 22    } } 

继续输入命令lsyncd -nodaemon /etc/lsyncd.conf运行查看下是否有报错,如果有报错根据报错情况检查修改,如果没有报错直接退出后输入命令:systemctl start lsyncd启动lsyncd即可。

部分参数说明

settings为全局配置,部分参数如下:

logfile:日志文件路径 statusFile:进程路径 insist:继续运行,即使有失败的目标。 statusInterval:多少秒写入文件,默认是10s 

sync为同步配置,部分参数如下:

source:本地文件目录 host:远程服务器地址 targetdir:远程目标目录 port:目前主机SSH端口号,默认为22 

相关命令

#启动 systemctl start lsyncd #停止 systemctl stop lsyncd #重启 systemctl restart lsyncd #设置开机自动启动 systemctl enable lsyncd 

原文地址:CentOS 7安装Lsyncd实现文件实时同步


db1024 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:CentOS 7安装Lsyncd实现文件实时同步备份
喜欢 (1)
关于作者:
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
==============================================================================