【Linux】sersync 实时同步

原理

rsync 是不支持实时同步的,通常我们借助于 inotify 这个软件来实时监控 文件变化,一旦inotify 监控到文件变化 ,则立即调用 rsync 进行同步,推送到 rsync 服务端。

环境准备

步骤1:获取数据包

获取 sersync 的包安装到存储服务器-nfs01 上,这里我是用博客园-刘应杰的提供的链接 wget 获取的包进行测试。

sersync下载安装及配置(有演示示例) - 刘应杰 - 博客园 (cnblogs.com)

bash 复制代码
wget http://down.whsir.com/downloads/sersync2.5.4_64bit_binary_stable_final.tar.gz
bash 复制代码
目录规划:
 /app/tools/sersync/
 /app/tools/sersync/bin/
 /app/tools/sersync/conf/
修改之前:
 GNU-Linux-x86/
 GNU-Linux-x86/sersync2
 GNU-Linux-x86/confxml.xml
修改完成后样子:
 [root@nfs01 /app/tools/sersync]# tree 
.
 ├── bin
 │   └── sersync
 └── conf
    └── confxml.xml

步骤2:创建目录

bash 复制代码
mkdir -p /app/tools/sersync/{bin,conf}

步骤3:迁移配置目录

bash 复制代码
mv GNU-Linux-x86/sersync2 /app/tools/sersync/bin/
bash 复制代码
mv GNU-Linux-x86/confxml.xml /app/tools/sersync/conf/

步骤4:查看结果

bash 复制代码
tree -F /app/tools/

完整演示

实验设备

  • 存储服务器:172.16.1.31
  • web服务器:172.16.1.7
  • 备份服务器:172.16.1.41

操作流程

步骤1:备份服务器:修改的rsyncd配置文件,添加准备实时同步的共享目录

bash 复制代码
vim /etc/rsyncd.conf

在配置文件中添加如下信息

bash 复制代码
[nfsbackup]
comment = realtime
path=/nfsbackup

步骤2:备份服务器:创建共享目录修改权限

bash 复制代码
mkdir -p /nfsbackup
bash 复制代码
chown -R rsync.rsync /nfsbackup/

步骤3:备份服务器:重启 rsync

bash 复制代码
systemctl restart rsyncd

步骤3:存储服务器:修改 sersync 的 confxml.xml 配置文件

具体修改如下:左修改后,有原文件

步骤4:存储服务器:创建软连接

bash 复制代码
ln -s /app/tools//sersync/bin/sersync2 /bin/

步骤5:存储服务器:启动或者关闭服务

启动

bash 复制代码
sersync2 -rdo  /app/tools/sersync/conf/confxml.xml

关闭两种选择

bash 复制代码
# 第一种
pkill sersync2

# 第二种
kill 进程id

步骤6:存储服务器:配置文件 /etc/exports

bash 复制代码
vim /etc/exports

添加配置

bash 复制代码
/data/ 172.16.1.0/24(rw)
相关推荐
小狮子安度因几秒前
Linux上的各种查询
linux·运维·服务器
IPFoxy6662 分钟前
如何生成谷歌临时邮箱?五个步骤轻松搞定!
服务器
Yz987633 分钟前
Hive安装-内嵌模式
大数据·linux·数据仓库·hive·hadoop·hdfs·bigdata
多练项目43 分钟前
公开仓库改私有再配置公钥后Git拉取仍需要输入用户名的问题
运维·git
cqbzcsq2 小时前
Nginx简易配置将内网网站ssh转发到外网
运维·nginx·ssh
SmallBambooCode2 小时前
【人工智能】阿里云PAI平台DSW实例一键安装Python脚本
linux·人工智能·python·阿里云·debian·脚本·模型训练
纯小白是我2 小时前
CentOS 7系统中更改YUM源为阿里云的镜像源
linux·阿里云·centos
嵌入式Linux,2 小时前
BUG: scheduling while atomic
linux·运维·服务器·bug
小兔子酱#2 小时前
【Linux 29】传输层协议 - UDP
linux·运维·服务器·网络·网络协议·udp
CYRUS_STUDIO2 小时前
Android下的系统调用 (syscall),内联汇编syscall
android·linux·汇编语言