部署监控环境

同步的实时性

按照固定周期定期同步

--时间间隔不好固定,同步不及时或资源浪费

--实时性较差


Linux内核的inotify机制

--提供事件响应式的文件系统通知机制

--安装inotify-tools控制工具可调用此机制实现监控

当目录1的内容变化时,马上执行同步到目录2


1.需要软件包:inotify-tools工具

[[email protected] Desktop]# yum -y install gcc   准备好inotify-tools需要的编译环境gcc

[[email protected] Desktop]# tar -xf inotify-tools-3.13.tar.gz   将下载后的包解压到当前目录,也可以解压到其他的目录

[[email protected] Desktop]# cd inotify-tools-3.13/    跳转到inotify-tools-3.13目录下

[[email protected] inotify-tools-3.13]# ./configure     准备好配置

[[email protected] inotify-tools-3.13]# make              编译

[[email protected] inotify-tools-3.13]# make install     确定安装结果

2.学会使用inotifywait

可以持续跟踪指定文件夹的变化

基本用法

-inotifywait 【选项】 目标文件夹

常用命令选项

  -m  ,持续监控(捕获一个事件后不退出)

  -r     ,递归监控,包括子目录及文件

  -q      ,减少屏幕输出信息

  -e      ,指定监视的 modify,move,create  ,delete,attrib等事件类别

终端一:(建立inotifywait监控文件夹/opt1的变化)

[[email protected] ~]# mkdir /opt1
[[email protected] ~]# inotifywait -mrq -e modify,create,delete /opt1

终端二:(测试inotifywait监控,在文件夹中/opt1进行操作,相应的终端一会有变化)

linux下实时/触发实时同步---inotify+rsync

实现 inotify+rsync结合实时同步

基本思路

--利用while循环来反复检查监控结果

举例说明:

实现的目标:在主机主机svr7上的/var/www/html/建立实时同步到主机pc207上的/var/www/html,使得主机上的/var/www/html/目录内容有响应的变化时候,主机pc207上的/var/www/html会得到实时的更新。实现关键点在于主机svr7可以运程无密码的监控对方主机pc207。

目录1:主机svr7上的/var/www/html/

目录2:主机pc207上的/var/www/html  【目录一和目录二可以随意指定】

效果

while 目录1的内容有变化的时候

do

    rsync ... 目录1/目录2

done

1.现实SSH免密码登陆

实现方式:提前部署一个**要文件到运程主机机器

(1)在svr7生成**文件

--先检查是否有**文件

[[email protected] ~]# ls ~/.shh/id_*

ls: 无法访问/root/.shh/id_*: 没有那个文件或目录

--没有**文件,那么生成(否则跳过此部)

[[email protected] ~]# ssh-******


linux下实时/触发实时同步---inotify+rsync

把**部署给运程的机器pc207

[[email protected] ~]# ssh-copy-id  [email protected]

linux下实时/触发实时同步---inotify+rsync

2.在svr7上编写实时同步脚本

[[email protected] ~]# vim /root/isync.sh  编写脚本

[[email protected] ~]# chmod +x /root/isync.sh  给脚本赋予权限,让其可以在linux上有执行权限。

linux下实时/触发实时同步---inotify+rsync

3.测试

(1)运行/root/isync.sh脚本

(2)在主机svr7上创建的/var/www/html/ ,在主机pc207上创建/var/www/html

(3)在建立了实时同步的主机svr7上的/var/www/html/进行操作,在查看主机207上/var/www/html是否和svr7上的var/www/html内容一样。



相关文章: