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运行查看下是否有报错,如果有报错根据报错情况检查修改
如果没有报错直接退出后输入命令:systemctl start lsyncd启动lsyncd即可。
相关命令:
#启动
systemctl start lsyncd
#停止
systemctl stop lsyncd
#重启
systemctl restart lsyncd
#设置开机自动启动
systemctl enable lsyncd