第1章 部署数据监控服务(inotify) 1.安装inotify软件(检查是否安装) yum install inotify-tools -y ---基于epel源(/etc/yum.repos.d/ 源文件保存目录) 2.应用inotify软件 /usr/bin/inotifywatch --- 实现数据变化统计命令,在实际工作中没有什么用处 /usr/bin/inotifywait ---实现数据实时监控命令(重要) 语法格式: 命令 参数 事件 监控目录 简单监控命令: inotifywait -mrq /data/ ---实现数据监控最重要的三个参数 详细监控命令: inotifywait -mrq --timefmt "%F" --format "%T %w%f 事件信息:%e" /data/ 相关参数: -m --monitor ---始终保持监视状态,默认对目录只监视一次 -r ---表示进行递归监控(目录1/目录2/目录3) -q --quiet ---将无用的信息不要输出到屏幕上 &>/dev/null --timefmt <fmt> ---时间格式信息(date) --format ---输出内容的格式信息 -e ---指定监控的事件信息(如果不指定此参数,表示所有事件都监控)

常见监控命令: inotifywait -mrq --format "%w%f" -e create,close_write,delete,moved_to /data 不加事件格式信息,主要显示时间信息以及操作的内容信息 1.1 触发事件解析

  1. 重命名一个文件,会触发什么事件? 重命名时监控到的信息: 2018-05-09 /data/file01 事件信息:MOVED_FROM 2018-05-09 /data/file10 事件信息:MOVED_TO
  2. sed命令替换文件信息原理过程 2018-05-09 /data/file10 事件信息:OPEN 2018-05-09 /data/sedRSK9Gs 事件信息:CREATE 2018-05-09 /data/sedRSK9Gs 事件信息:OPEN 2018-05-09 /data/file10 事件信息:ACCESS 2018-05-09 /data/sedRSK9Gs 事件信息:MODIFY 2018-05-09 /data/sedRSK9Gs 事件信息:ATTRIB 2018-05-09 /data/sedRSK9Gs 事件信息:ATTRIB 2018-05-09 /data/file10 事件信息:CLOSE_NOWRITE,CLOSE 2018-05-09 /data/sedRSK9Gs 事件信息:CLOSE_WRITE,CLOSE 2018-05-09 /data/sedRSK9Gs 事件信息:MOVED_FROM 2018-05-09 /data/file10 事件信息:MOVED_TO 第2章 部署rsync守护进程模式 服务端部署: 01.检查软件是否安装 02.编写配置文件 03.创建虚拟用户 04.创建备份目录,进行授权 05.创建密码认真文件,授权为600 06.启动rsync守护进行服务 客户端部署: 01.检查软件是否安装 02.创建密码文件,并进行授权 03.进行数据推送测试 rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password 第3章 利用脚本将inotify与rsync服务进行结合 #!/bin/bash inotifywait -mrq --format "%w%f" -e create,close_write,delete,moved_to /data/|
    while read line do rsync -az --delete /data/ rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password done 第4章 循环方法总结
  3. for循环 指定一个循环条件范围,最终会结束
  4. while循环 指定一个循环条件,当条件满足时(为真),就会一直循环下去(死循环)
  5. until循环 指定一个循环,当条件不满足时(为假),就会一直循环下去(死循环) 第5章 暂停中进程的停用总结 ctrl+z ---暂停一个运行中的脚本进程 kill killall pkill --- 可以杀死一个暂停的进程 pkill -f "inotify.sh" --- -f参数表示把进程中参数信息也定义为进程名 kill -9 进程号 --- 肯定可以杀死一个暂停的进程;慎用,因为kill -9 杀进程,可能造成服务无法再次运行 jobs --- 显示在后台运行的进程或暂停的进程信息 [1]+ Stopped sh -x inotify.sh fg 1 --- 将后台运行的进程放在前台执行,恢复一个暂停进程继续运行 bg 后台 fg 前台 sh /server/scripts/inotify.sh & 执行脚本在后台运行 让脚步程序在后台运行的方法:
    1. sh inotify.sh &
    2. nohup sh inotify.sh &
    3. 思考:screen命令,实现脚步后台运行