企业Shell面试题4:开发脚本***检测与报警案例
面试及实战考试题:监控web站点目录(/var/html/www)下所有文件是否被恶意篡改(文件内容被改了),如果有就打印改动的文件名(发邮件),定时任务每3分钟执行一次。
#!/bin/sh
html_dir=/var/html/www
html_file=find /var/html/www -type f
md5_dir=/tmp/checkdir
[ ! -d $md5_dir ] && mkdir $md5_dir
for i in $html_file
do
md5sum $i >>$md5_dir/o.txt
done
while true
do
md5sum -c $md5_dir/o.txt |grep -i failed>>$md5_dir/n.txt
[ -s $md5_dir/n.txt ] && \
echo "cat $md5_dir/n.txt"|mail -s "date:date +%F-%H:%M:%S Web is dangerous" 15733120437@163.com
md5sum -c 的检测作用:
知识点:
...>> : 重定向 追加
..> : 重定向 覆盖
md5sum 文件 : 可生成文件的专属md5值
for循环 固定格式:--变量会轮询赋值给变量i ,代入循环体中
for i in 变量
do
内容
done
find 命令: find 路径 -type类型 -name名称 -mtime时间
类型 f 文件 d目录
名称 符合正则 ** ^
时间 +1 、1、-1 一天前 一天内 未来1天时间