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

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

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

systemctl start lsyncd

相关命令:

#启动

systemctl start lsyncd

#停止

systemctl stop lsyncd

#重启

systemctl restart lsyncd

#设置开机自动启动

systemctl enable lsyncd