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

2023-03-20 14:19:00 0 162

说明: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 username@remote-server
#测试
ssh username@remote-server

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实现文件实时同步

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

免责声明:内容来自用户上传发布或新闻客户端自媒体,本站仅提供信息存储空间服务,如违规请联系删除。

玩技资源 网站部署 CentOS 7安装Lsyncd实现文件实时同步备份 https://www.52diyhome.com/2023/03/241926.html

如遇资源失效请马上联系微信进行退款

常见问题
  • 答:资源大部分来源于网络和本站作者若有侵权请您联系管理员删除2523030730
查看详情
  • 玩技平台的主要负责内容是提供给作者售卖资源的平台,买家有对作者投诉的权利,投诉成功后会获取相应的补偿机制。官方唯一投诉通道客服QQ:2523030730转接人工服务,投诉专属客服工号【2】
查看详情
  • 本站已开启了作者实名认证,在购买商品时请尽量选择已认证的作者,不用担心跑路和无人售后的问题。如果出现问题,本站将采取报警的方式来指正作者进行诈骗行为,并将其身份资料提供给警方处理。
查看详情
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
查看详情

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 工作日在线 专业服务

  • 0 +

    访问总数

  • 0 +

    会员总数

  • 0 +

    资源总数

  • 0 +

    今日发布

  • 0 +

    本周发布

  • 0 +

    运行天数

资源在于分享,创作来源想象