【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)
相关推荐
YH_DevJourney10 分钟前
Linux-C/C++《C/9、信号:基础》(基本概念、信号分类、信号传递等)
linux·c语言·c++
千墨34 分钟前
VMware安装Centos 9虚拟机+设置共享文件夹+远程登录
linux·运维·centos
ChinaRainbowSea1 小时前
1. Linux下 MySQL 的详细安装与使用
linux·数据库·sql·mysql·adb
网络安全(华哥)2 小时前
网络安全服务实施流程管理 网络安全服务体系
运维·服务器·网络
致奋斗的我们2 小时前
Nginx反向代理及负载均衡
linux·运维·mysql·nginx·负载均衡·shell·openeluer
百锦再2 小时前
在Linux上创建一个Docker容器并在其中执行Python脚本
linux·python·docker
Ares-Wang2 小时前
负载均衡 方式
运维·负载均衡
钗头风2 小时前
3.Docker常用命令
运维·docker·容器
忧虑的乌龟蛋2 小时前
嵌入式 Linux:使用设备树驱动GPIO全流程
linux·服务器·嵌入式·imx6ull·gpio·点灯·pinctrl
朝九晚五ฺ3 小时前
【Linux探索学习】第三十弹——线程互斥与同步(上):深入理解线程保证安全的机制
linux·运维·学习