第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 触发事件解析
- 重命名一个文件,会触发什么事件? 重命名时监控到的信息: 2018-05-09 /data/file01 事件信息:MOVED_FROM 2018-05-09 /data/file10 事件信息:MOVED_TO
- 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章 循环方法总结 - for循环 指定一个循环条件范围,最终会结束
- while循环 指定一个循环条件,当条件满足时(为真),就会一直循环下去(死循环)
- 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 & 执行脚本在后台运行
让脚步程序在后台运行的方法:
- sh inotify.sh &
- nohup sh inotify.sh &
- 思考:screen命令,实现脚步后台运行