Linux下如何使用inotify+rsync实现文件批量更新(inotify,linux,rsync,开发技术)

时间:2024-05-03 10:44:58 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    Linux%E4%B8%8B%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8inotify%2Brsync%E5%AE%9E%E7%8E%B0%E6%96%87%E4%BB%B6%E6%89%B9%E9%87%8F%E6%9B%B4%E6%96%B0

量同步、批量更新,这应该是做运维的朋友们经常做的工作,rsync是linux下一款非常强大的同步工具,采用差异同步的方法,只上传文件/文件夹的不同部分,同时可以对上传部分先进行压缩,所以rsync的传输效率是很高的但rsync也有缺点,最大的问题就是每次执行rsync命令都会遍历目标目录,当文件不多时,这没什么问题,一旦文件数到了一定规模,那么每次遍历都会消耗很多资源。

如果只对经常改动的目录进行同步,也可以忽略这个问题,如果每次改动的目录多较大,那么就要用到inotify了,Inotify是一种强大的、细粒度的、异步的文件系统事件监控机制,Linux内核从2.6.13起,加入了对Inotify的支持,通过Inotify可以监控文件系统中的添加、删除、修改、移动等各种事件,但inotify只提供了C语言接口,不方便调用,所以我们需要先安装inotify-tools

Linux下如何使用inotify+rsync实现文件批量更新

系统环境

CentOS_5.7-x86_64 更新源服务器:192.168.9.227 目的服务器:192.168.9.226 192.168.9.228 …

目的服务器配置

192.168.9.226 192.168.9.228(rsync服务端):

检查rsync是否安装

如果没有发装,执以下命令进行安装

定义rsync配置文件/etc/rsyncd.conf

192.168.9.226:

192.168.9.228:

rsyncd.conf配置文件详解

建立认证文件/etc/www1.pwd

此文件须与配置文件中指定文件名保持一致 此处格式为:username:password,安全问题,并不建议实际使用中使用root用户 192.168.9.226:

192.168.9.228:

并且我们需要设置此文件的权限为600

建立motd文件(可有可无)

rsyncd.motd记录了rsync服务的欢迎信息,你可以在其中输入任何文本信息,如:

启动rsync

更新源服务器配置

192.168.9.227 (rsync客户端)

inotify 可以监视的文件系统事件包括

注:上面所说的文件也包括目录。

安装inotify-tools

在安装inotify-tools前请先确认你的linux内核是否打到了2.6.13,并且在编译时开启了CONFIG_INOTIFY选项,也可以通过以下命令检测

如果有 max_queued_events,max_user_instances,max_user_watches 三项就说明支持

编写rsync监控脚本

建立认证文件 (rsync客户端认证文件只用加入密码)

同步测试

在更新源服务器上新建一个文件,运行以下的命令,看文件是否可以正常同步,看有无报错信息

将要更新的文件提交到更新源服务器中,这样就通过inotify+rsync批量的将更新文件同步到所有的目的服务器中,相当方便快捷。

本文:Linux下如何使用inotify+rsync实现文件批量更新的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Linux下如何安装Gnuplot下一篇:

8 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18