首页 游戏 软件 资讯 排行榜 专题
首页
系统平台
rsync结合 inotfiy 实现实时备份的问题

rsync结合 inotfiy 实现实时备份的问题

热心网友
36
转载
2026-04-15

1. 简介

搞服务器运维的,手里没几件趁手的工具可不行。今天咱们就来聊聊数据同步和监控领域的两个“老伙计”:rsyncInotify

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

rsync是个什么角色?

简单说,它是Linux系统下一款非常高效的数据镜像备份工具。速度快是它最大的特点,尤其擅长增量备份。不管你是想本地复制,还是想通过SSH、甚至专门的rsync服务进行远程同步,它都能轻松胜任。

那Inotify又起什么作用?

如果说rsync负责“搬东西”,那Inotify就是负责“盯梢”的。它是一种强大且异步的文件系统事件监控机制。文件目录里任何的风吹草动——比如创建、删除、修改、移动——都逃不过它的“眼睛”。基于这个内核接口,我们就能实时掌握文件系统的每一个细微变化。

把它们俩结合起来用,会擦出怎样的火花?下面这个实验,就是打造一套“实时感知、自动同步”的备份系统。

2. 实验环境:

IP地址 扮演角色
192.168.153.180 备份源 (Sync Client + Inotify监控端)
192.168.153.181 备份端 (Rsync Server)

为了让实验过程畅通无阻,有个准备工作必须先做:把两台机器的防火墙和SELinux都关掉。当然,生产环境可不能这么干,得根据安全策略配置好放行规则。

关闭防火墙:

systemctl stop firewalld

关闭SELinux:

setenforce 0

3. 配置备份端主机(181主机)

好,环境准备好了,咱们先从备份端,也就是接收文件的那台机器开始配置。

3.1 安装rsync工具

第一步很简单,直接通过yum安装:

yum -y install rsync

3.2 修改rsync配置文件

安装完成后,关键步骤是配置它的服务端。编辑配置文件:

vim /etc/rsyncd.conf

把内容修改成下面这样(注意:使用前务必删掉所有注释,否则可能因格式问题导致服务启动失败):

uid=root
gid=root
use chroot = no
max connections = 10
strict modes = yes
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log
[rsync]
path = /opt  # 这是备份文件存放的路径
comment = rsync
ignore errors # 跳过错误
read only = no # 允许读
write only = no # 允许写
hosts allow = 192.168.153.180 # 只允许备份源IP连接
list = false
auth users = rsync_user  # 认证用户名

3.3 创建密码文件并修改权限

光有用户名不够,还得配上密码。创建一个密码文件:

echo "rsync_user:123" > /etc/rsync.password

出于安全考虑,这个文件的权限必须收紧:

chmod 600 /etc/rsync.password

3.4 启动rsync并查看端口验证

配置妥当,现在可以启动rsync守护进程了:

rsync --daemon

怎么确认服务真的跑起来了?检查一下它默认监听的873端口状态就知道了:

netstat -ntlp|grep 873
tcp        0      0 0.0.0.0:873             0.0.0.0:*               LISTEN      1583/rsync
tcp6       0      0 :::873                  :::*                    LISTEN      1583/rsync

看到这两行监听信息,说明备份端的服务已经就绪,在等着客户端来连接了。

4. 配置备份源端(180主机)

备份端配置好了,接下来轮到“源头”这边。这里的任务更核心:不仅要能推送数据,还要装上“眼睛”来监控变化。

4.1 安装epel源和所需工具

我们需要安装inotify-tools,而它通常在EPEL源里。所以先装上EPEL源:

yum -y install  epel-release

然后一次性把需要的工具都装上:

yum -y install inotify-tools rsync 

4.2 配置rsync同步密码

源端作为客户端,不需要完整的服务端配置,但需要知道访问备份端的密码。注意,这里只写密码,不用用户名:

echo "123" > /etc/rsync.password

同样,权限必须设置为600:

chmod 600 /etc/rsync.password 

4.3 编写inotify监控脚本

重头戏来了!我们将编写一个脚本,让inotifywait实时监控目录,一旦有变化,就立刻触发rsync同步。这才是实现“实时”的关键。

vim inotify.sh
#!/bin/bash
ip=192.168.153.181 #备份端IP
src=/opt/rsync_src #需要监控和同步的源目录
dst=rsync #对应备份端的模块名
user=rsync_user # 认证用户名

/usr/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e modify,delete,create,attrib ${src} | while read file
do
    rsync -vzrtopg --delete --progress $src $user@$ip::$dst --password-file=/etc/rsync.password > /dev/null && echo "$src was rsyncd"
done

3.4 创建被监控的源目录

脚本里指定的源目录,我们现在创建它:

mkdir /opt/rsync_src

3.5 执行脚本,开始监控

现在,让我们的监控脚本跑起来:

sh inotify.sh 

脚本会停留在后台持续监控。是骡子是马,该拉出来遛遛了。

3.6 测试文件创建同步

新开一个终端窗口,进入被监控的目录,创建两个测试文件:

cd /opt/rsync_src
echo 111 > 1.txt
echo 222 > 2.txt

3.7 在备份端验证

立刻切换到备份端(181主机),检查目标目录。怎么样?两个新文件应该已经静静地躺在那里了:

ls /opt/rsync_src/
1.txt  2.txt

3.8 测试文件删除同步

实时同步,当然也得包括删除操作。回到源端,删掉其中一个文件:

cd /opt/rsync_src
rm -f 1.txt

再次查看备份端,你会发现,不仅仅是新增,连删除操作也被完美同步过去了:

ls /opt/rsync_src/
2.txt

至此,一个基于Inotify和Rsync的简易实时同步系统就搭建并验证完成了。你可以看到,从文件创建到删除,所有操作都近乎实时地反应在了备份端。这,就是组合工具的威力。

来源:https://www.jb51.net/LINUXjishu/766725.html
免责声明: 游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

最新APP

宝宝过生日
宝宝过生日
应用辅助 04-07
台球世界
台球世界
体育竞技 04-07
解绳子
解绳子
休闲益智 04-07
骑兵冲突
骑兵冲突
棋牌策略 04-07
三国真龙传
三国真龙传
角色扮演 04-07

热门推荐

《七界梦谭》长戟刚鬣boss打法攻略
游戏攻略
《七界梦谭》长戟刚鬣boss打法攻略

七界梦谭长戟刚鬣boss怎么打?全面打法机制解析 在《七界梦谭》中,即将登场的精英首领“长戟刚鬣”以其独特的造型与高难度的战斗机制,成为了众多玩家关注的焦点。它通体呈现深邃的黑色,外形轮廓融合了刺猬般的刚刺与修长的尾部,移动时带有鼠类特有的迅捷与灵动。其名“刚鬣”源于古语,精准地描述了它颈背部如刀锋

热心网友
04.15
王者荣耀世界pk模式怎么玩-王者荣耀世界pk模式玩法全解析
游戏资讯
王者荣耀世界pk模式怎么玩-王者荣耀世界pk模式玩法全解析

王者荣耀世界的 pk 模式是玩家展现实力、与各路高手激烈对抗的舞台 想体验更自由、更开放的竞技快感吗?王者荣耀的PK模式,正是这样一个让你与各路高手一决高下的舞台。在这里,战斗的规则更灵活,策略的博弈也更直接,能带来与常规对战截然不同的竞技乐趣。 参与条件 参与门槛并不复杂:当玩家等级达到要求,并且

热心网友
04.15
我在AI
AI
我在AI

我在AI是什么 简单来说,“我在AI”是一款来自南京有零科技的免费人工智能应用。它的核心思路挺有意思:不再提供单一的聊天机器人,而是打造了一个多元化的“智能体”生态。用户可以根据自己的喜好,选择不同性格、设定的人设进行互动,相当于把选择权交给了用户,让AI服务于更个性化的生活场景。 我在AI的主要功

热心网友
04.15
张雪机车LOGO陷抄袭国外品牌标识争议 真相藏不住了
业界动态
张雪机车LOGO陷抄袭国外品牌标识争议 真相藏不住了

张雪机车LOGO陷抄袭争议:一场关于“原创”的舆论风波 最近几天,机车圈里有点热闹。一组对比图在网络上流传开来,把张雪车品牌的LOGO和国外一个已有标识放在了一起。仔细一看,二者在图形结构、线条走势,乃至整体轮廓上,确实有着高度的相似性,差别似乎只存在于一些微小的细节处理上。 这事儿之所以迅速发酵,

热心网友
04.15
mysql报Server selection timeout怎么办_排查负载均衡器配置与节点存活检查
数据库
mysql报Server selection timeout怎么办_排查负载均衡器配置与节点存活检查

MySQL连接报Server selection timeout怎么办?排查负载均衡器配置与节点存活检查 首先需要明确一个核心概念:Server selection timeout这一错误信息,本质上是MongoDB驱动层抛出的异常,与MySQL服务自身的运行状态并无直接关联。它通常出现在错误混用M

热心网友
04.15