• 云途科技成立于2010年 - 专注全球跨境电商服务器租赁托管!
  • 帮助中心

    您可以通过下方搜索框快速查找您想知道的问题

    CentOS 7使用Lsyncd实现文件实时同步备份

      in  独立服务器      Tags:  Lsyncd  实时同步  数据备份  

    说明: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  
    #解压
    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#将公钥拷贝到Bssh-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服务器执行。

    #安装lsyncdyum -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


    云途虚拟主机如何通过cPanel面板进行数据备份?

    • 外贸虚拟主机

      1GB硬盘

      2个独立站点

      1000M带宽

      不限制流量

      美国外贸专用虚拟主机,cPanel面板,每天远程备份.
      服务器配置:2*E5 32核,96GB 内存,4*2TB 硬盘 RAID10 阵列.

      ¥180/年

    • 美国/荷兰外贸VPS

      2核CPU

      1G内存

      30硬盘

      10M带宽

      美国/荷兰外贸云服务器,专注外贸服务器行业12年.
      服务器配置:2*E5 32核,96GB 内存,4*2TB 硬盘 RAID10 阵列.

      ¥99/月

    • 全球外贸服务器

      8核CPU

      32G内存

      1TB硬盘

      1000M带宽

      已部署数据中心:美国洛杉矶/亚特兰大、荷兰、加拿大、英国伦敦、德国、拉脱维亚、瑞典、爱沙尼亚
      自有机柜(全球九大数据中心),稳定在线率:99.9%

      ¥999/月 原价1380

    7*24小时 在线提交工单

    如果您的问题没有得到解决,推荐您在线提交工单,我们的客服人员会第一时间为您解决问题

    展开