Rsync+sersync 数据实时同步

一、这玩意儿是干啥的?

Rsync 就是个文件同步工具,能把文件从一台机器拷到另一台机器。好比你有两台电脑,想把A电脑的文件备份到B电脑,Rsync就能干这个活。

sersync 是个监控工具,它能盯着你指定的文件夹,只要里面的文件有啥变化(新增、修改、删除),立马就能发现。

俩货加一起 :sersync负责盯梢,一发现变化就叫Rsync去同步,这样就实现了实时同步


二、核心概念(说人话版)

同步方式

  • 推(push):服务器主动把数据发给备份机(服务器累点,适合机器少的情况)

  • 拉(pull):备份机主动去服务器上取数据(备份机累点)

备份类型

  • 全量备份:把所有文件都拷一遍

  • 增量备份:只拷上次备份后修改过的文件(Rsync默认干这个)


三、为啥要用Rsync+sersync?

只用Rsync有个毛病:它不知道哪些文件变了,每次都得扫描整个目录,文件多了就慢得要死。

加了sersync就不一样了:

  • sersync能精确知道哪个文件变了

  • Rsync只同步变化的部分

  • 效率高、速度快


四、怎么部署?(简单版)

1. 先装Rsync(两台机器都要装)

bash

复制代码
yum install rsync xinetd -y
rsync --daemon    # 启动服务

2. 配置备份服务器(收数据的那台)

编辑 /etc/rsyncd.conf,大概意思就是:

  • 我是备份机,IP是xxx

  • 我的备份目录在 /data/backup

  • 只有指定IP能连我

  • 登录用户名密码是啥

3. 配置同步服务器(发数据的那台)

装sersync,修改配置文件:

  • 告诉它要监控哪个目录

  • 告诉它备份机IP和用户名密码

4. 启动

bash

复制代码
/opt/sersync/sersync2 -d -r -o /opt/sersync/confxml.xml

五、出问题了咋排查?(故障排查)

先看三样东西

  1. 服务活着没ps aux | grep sersyncps aux | grep rsync

  2. 端口通不通telnet 备份机IP 873(873是Rsync默认端口)

  3. 防火墙关没关:要么关防火墙,要么开放873端口

常见问题

  • 连不上:多半是防火墙拦着,或者Rsync没启动

  • 没权限:检查目录权限,检查密码文件权限是不是600

  • 不同步:看看sersync监控的目录对不对,手动touch个文件试试


六、安全加固(防坏人)

基础防护

  • 别用root跑服务,建个专用用户

  • 密码文件权限必须600(只有root能看)

  • 限制IP访问,只让指定网段连

高级防护

  • 用SSH加密传输:数据在网络上跑的时候是加密的,别人截获了也看不懂

  • 防火墙限制:只开放必要端口,只允许必要IP

  • Chroot隔离:就算被攻破了,也跑不出指定目录

日常监控

  • 看日志,发现有异常删除、频繁登录就报警

  • 定期检查配置文件有没有被改过

  • 密码要定期换


七、一句话总结

Rsync负责拷文件,sersync负责盯文件,俩货配合就能实现文件实时同步。装的时候注意权限,用的时候注意防火墙,安全方面多用点心,别让人钻了空子。

相关推荐
三言老师21 分钟前
CentOS7.9:Redis服务器部署结构化实战教程
linux·运维·服务器·数据库
tiannian12202 小时前
RFID资产管理系统投入产出全拆解:硬件、软件、部署、运维四笔账一次算清
运维·rfid·资产管理系统
我头发多我先学2 小时前
Linux入门:简要认识Linux和基础指令
linux·运维·服务器
Urbano3 小时前
职业工装外套核心缝制工序自动化替代分析与多品牌设备选型报告
运维·自动化
逍遥德3 小时前
运维技术栈Linux+docker+Kubernetes+Jenkins/GitLab CI 知识点详细列表
linux·运维·docker
名字还没想好☜3 小时前
Kubernetes CrashLoopBackOff 排查全流程:从 describe 到日志到 exit code
运维·docker·云原生·容器·kubernetes
冰封之寂3 小时前
Docker 部署与基础命令详解:从安装到容器管理全流程指南
linux·运维·docker·容器
隔振消音专家4 小时前
冷水机组振动传导影响及专业化减振适配治理方案
大数据·运维
Brilliantwxx4 小时前
【Linux】 软件包管理器(yum)+ Vim使用
linux·运维·服务器·开发语言·编辑器·vim
skywalk81634 小时前
在FreeBSD的Uubntu兼容环境下安装Reasonix
linux·运维·freebsd