Hello! 欢迎来到小浪云!


LINUX系统使用软件异地同步数据(灾备)


avatar
小浪云 2024-06-09 38


rsync是Linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他ssh、rsync主机同步

一、宝塔环境:

宝塔软件商城支持,参考:https://www.bt.cn/bbs/thread-98022-1-1.html

二、其他环境:

实现工具:lsyncd

 lsyncd结合了inotify + rsync,Lsyncd监视本地目录树事件监视器接口(inotify或fsevents)。它聚合和组合事件几秒钟,

然后生成一个(或多个)进程(es)来同步更改。

 1、安装(lsyncd基于rsync,且要求rsync >= 3.1):

# 查看rsync版本

# rsync -v

    LINUX系统使用软件异地同步数据(灾备)

1.1、rsync< 3.1才执行以下内容,rsync >= 3.1跳过1.1此步,直接执行1.2

#查看当前rsync版本

rsync -v

#如果版本太低,直接卸载

yum -y remove rsync

#下载rsync源码

wget http://soft.xiaoz.org/Linux/rsync-3.1.3.tar.gz

#解压

tar -zxvf rsync-3.1.3.tar.gz

#进入目录

cd rsync-3.1.3

#编译安装

./configure

make install

最后再次输入rsync -v查看版本是否升级成功

1.2 更新epel源

yum -y install epel-release

1.3安装lsyncd

#安装lsyncd

yum -y install lsyncd

#查看lsyncd版本

lsyncd –version

#配置文件位于/etc/lsyncd.conf  — 是注释符

2、 配置

2.1 配置免密登陆

如果想要将主A:192.168.0.1的数据同步到备B:192.168.0.2,主A:192.168.0.1必须拥有免密码登录备B:192.168.0.2的权限,

可以设置密钥登录来完成。只需要两条命令即可,下面的命令在主A:192.168.0.1服务器执行:

#生成密钥文件

ssh-keygen -t rsa

#将公钥拷贝到B服务器 -p 配置是ssh端口 ,输入密码登陆拷贝

Bssh-copy-id root@192.168.0.2 -p 22000 

#测试 

ssh root@192.168.0.2  -p 22000

2.2 配置lsyncd

2.2.1 部分参数说明

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

logfile:日志文件路径

statusFile:进程路径

insist:继续运行,即使有失败的目标。

statusInterval:多少秒写入文件,默认是10s

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

source:本地文件目录

host:远程服务器地址

targetdir:远程目标目录

port:目前主机ssh端口号,默认为22000

2.2.2 配置文件

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

settings {

   logfile    = “/tmp/lsyncd.log”,

   statusFile = “/tmp/lsyncd.status”,

   insist = true,

   statusInterval = 10

}

sync {

   default.rsyncssh,   source=”/home”,

   host=”192.168.1.2″,

   targetdir=”/home”,

   rsync = {

     archive = true,

     compress = false,

     whole_file = false

   },

   ssh = {

     port = 220000

   }

}

继续输入命令lsyncd -nodaemon /etc/lsyncd.conf运行查看下是否有报错,如果有报错根据报错情况检查修改

如果没有报错直接退出后输入命令:systemctl start lsyncd启动lsyncd即可。

相关命令

#启动

systemctl start lsyncd

#停止

systemctl stop lsyncd

#重启

systemctl restart lsyncd

#设置开机自动启动

systemctl enable lsyncd

相关阅读