一起学习网 一起学习网


使用shell脚本分析网站日志统计PV、404、500等数据

网络编程 使用shell脚本分析网站日志统计PV、404、500等数据 06-21
下面的脚本能统计出网站的总访问量,以及404,500出现的次数。统计出来后,我们可以结合监控宝来进行记录,进而可以看出网站访问量是否异常,是否存在攻击,一目了然。还可以根据查看500出现的次数,进而判断网站程序是否出现异常。
#!/bin/bash
#purpose:count nginx or apache or other webserver status code using jiankongbao
#how to:run the script every 5 minutes with crontab

log_path="/var/log/nginx/www.gimoo.net/access.log"
becur=`date -d "5 minute ago" +%H%M%S`
code=(`tac $log_path | awk -v a="$becur" -v total=0 -F [' ':] '{
t=$5$6$7
if (t>=a){
code[$12]++
total++
}
else {
exit;
}
}END{
print code[404]?code[404]:0,code[500]?code[500]:0,total
}'
`)
c404=${code[0]}
c500=${code[1]}
total=${code[2]}
echo -e "<pre>nc404:${c404}nc500:${c500}ntotal:${total}n</pre>" > /data/www/status/www.gimoo.net.html

脚本最后一行是以:
<pre>
c404:1102
c500:545
total:55463
</pre>

的格式写入到一个www.gimoo.net html文件,再结合监控宝的自定义监控来收集这些信息。非常的方便,监控宝会自动出图表。

shell数组操作简明总结
数组作为一种特殊的数据结构在任何一种编程语言中都有它的一席之地,当然bashshell也不例外。本文就shell数组来做一个小的总结。在这里只讨论一维数

监控php-fpm并自动重启服务的shell脚本
脚本代码:#!/bin/bash#变量初始化process="php-fpm"#进程名startCmd="/etc/init.d/php-fpmstart"#启动命令down=0whiletruedo#取得http状态码code=$(curl-H"Host:www.gimoo.net"-m5-L-s-w%{ht

shell脚本结合iptables防端口扫描的实现
网上有现在的防端口工具,如psad、portsentry,但觉得配置有点麻烦,且服务器不想再装一个额外的软件。所以自己就写了个shell脚本实现这个功能。基本


编辑:一起学习网

标签:脚本,数组,异常,次数,也不