shell学习--十九web站点串改监控

监控web站点目录(/var/html/www)下所有的文件是否被修改文件内容被改了), 如果有就打印改动的文件名(发邮件),定时任务每3分钟执行一次(10分钟)。 思想: 1、思想 2、未经允许 3、文件被改了,会有特征。 a、大小可能会变化 b、修改时间(文件测试符ot,nt) c、文件内容会变化,md5sum指纹 d、增减或者删掉了 问题: 1、代码发布方案:大公司或者规范的公司,不会时刻传代码。(每天下午18点以后) 2、脚本不严谨啊,工作先解决问题,然后在解决好问题。 3、多思考自己解决。 4、文件变化的信息库 md5sum [root@node01 day13]# md5sum /etc/hosts 54fb6627dbaa37721048e4549db3224d /etc/hosts [root@node01 day13]# echo "##" >>/etc/hosts [root@node01 day13]# md5sum /etc/hosts b555326712fda43b9e47d506d72d23b2 /etc/hosts [root@node01 html]# touch index.html [root@node01 html]# echo wolf>index.html [root@node01 html]# cat index.html wolf [root@node01 html]# find /var/www/html/ -type f|md5sum a2d6eec9c0c4a30530dfa5753d43bfc2 - [root@node01 html]# find /var/www/html/ -type f|xargs md5sum d22f6718ff2408e991f99dde2b5898bf /var/www/html/index.html 建立指纹库 [root@node01 html]# find /var/www/html/ -type f|xargs md5sum>/data/wolf/md5sum.db [root@node01 html]# md5sum -c /data/wolf/md5sum.db /var/www/html/index.html: OK [root@node01 html]# md5sum -c /data/wolf/md5sum.db |grep -i fail [root@node01 html]# [root@node01 html]# echo laolang>>index.html [root@node01 html]# md5sum -c /data/wolf/md5sum.db |grep -i fail md5sum: WARNING: 1 of 1 computed checksum did NOT match /var/www/html/index.html: Failed [root@node01 data]# vi md5sum.sh #!/bin/sh db=/data/wolf/md5sum.db if [ `md5sum -c $db|grep Failed|wc -l` -ne 0 ] then echo "`md5sum -c $db|grep Failed`" fi [root@node01 data]# sh md5sum.sh md5sum: WARNING: 1 of 1 computed checksum did NOT match md5sum: WARNING: 1 of 1 computed checksum did NOT match /var/www/html/index.html: Failed 新增或者删除问题 [root@node01 data]# find /var/www/html/ -type f>a.log [root@node01 data]# find /var/www/html/ -type f>b.log [root@node01 data]# diff a.log b.log 1a2 > /var/www/html/123.sh 生成指纹库和生成原始文件统计 path=/var/www/html/ find $path -type f|xargs md5sum>/data/wolf/md5sum.db find $path -type f>/data/wolf/check_site.log 全脚本(这里可以用while true或者用计划任务) #!/bin/sh path=/data/wolf f=`md5sum -c $path/md5sum.db|grep Failed|wc -l` n=`cat $path/check_site.log` [ ! -f "$n" ] && touch $path/check_site.log while true do f=`md5sum -c $path/md5sum.db|grep Failed|wc -l` find /var/www/html/ -type f>$path/new_site.log log=/tmp/check.log [ ! -f $log ] && touch $log if [ $f -ne 0 ] || [ `cat $path/new_site.log|wc -l` -ne `$n|wc -l` ] then echo "`md5sum -c $path/md5sum.db|grep Failed`">$log diff $path/check_site.log $path/new_site.log>>$log mail -s "site is cuangai $(date) 1098331428@qq.com"<$log fi sleep 3 done 去新增文件修改删除测试 查看log [root@node01 data]# cat /tmp/check.log 1c1 < /var/www/html/nannan.log --- > /var/www/html/1.txt

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...