一、首先将apache日志按天切割
vi /etc/httpd/conf/httpd.conf ErrorLog "|rotatelogs /var/log/httpd/%Y%m%derror_log 86400 480" CustomLog "|rotatelogs /var/log/httpd/%Y%m%daccess_log 86400 480" combined
二、重启apache服务
service httpd restart
三、分析生成的apache日志状态码(等待了一天的日志)
***日志文件为20111228access_log vi http.sh #!/bin/bash total=`cat 20111228access_log|wc -l` array=(`cat 20111228access_log |awk '{print $9}'|sort|uniq -c|sort -n`) len=${#array[@]} echo "####################http状态码统计###########################" echo "总的连接数:$total" for ((i=0;i<$len;i=i+2)) { echo "########################################################" echo ${array[$i]}:${array[$i+1]} echo "########################################################" echo ${array[$i+1]}占连接数的比例是:`awk 'BEGIN{printf "%.6f%\n",('${array[$i]}'/'${total}'*100)}'` }
执行脚本结果(以百分号表示):
sh http.sh ####################http状态码统计########################### 总的连接数:688965 ######################################################## 1:303 ######################################################## 303占连接数的比例是:0.000145% ######################################################## 1:416 ######################################################## 416占连接数的比例是:0.000145% ######################################################## 2:299 ######################################################## 299占连接数的比例是:0.000290% ######################################################## 8:501 ######################################################## 501占连接数的比例是:0.001161% ######################################################## 145:403 ######################################################## 403占连接数的比例是:0.021046% ######################################################## 197:400 ######################################################## 400占连接数的比例是:0.028594% ######################################################## 738:206 ######################################################## 206占连接数的比例是:0.107117% ######################################################## 7307:404 ######################################################## 404占连接数的比例是:1.060576% ######################################################## 9213:302 ######################################################## 302占连接数的比例是:1.337223% ######################################################## 30574:301 ######################################################## 301占连接数的比例是:4.437671% ######################################################## 201197:304 ######################################################## 304占连接数的比例是:29.202790% ######################################################## 439582:200 ######################################################## 200占连接数的比例是:63.803241% ########################简单讲解######################### array=(`cat 20111228access_log |awk '{print $9}'|sort|uniq -c|sort -n`) ###这个拿出来是一个数组了 len=${#array[@]} ###这个是数组的长度 echo ${array[$i]}:${array[$i+1]} ###这个是以for循环输入状态码和状态码的连接数 awk 'BEGIN{printf "%.6f%\n",('${array[$i]}'/'${total}'*100)} ###以百分比计算各个状态码大约占的连接数
本文向大家介绍Shell脚本实现分析apache日志中ip所在的地区,包括了Shell脚本实现分析apache日志中ip所在的地区的使用技巧和注意事项,需要的朋友参考一下 查询ip地址所用的组件 步骤和nginx是差不多的,只是取日志里面的ip地址的方法不一样~~~ 最后cat 查看~~
本文向大家介绍shell脚本按当前日期输出日志的实现,包括了shell脚本按当前日期输出日志的实现的使用技巧和注意事项,需要的朋友参考一下 shell脚本基本技能是设置变量,输出信息。如下: sh脚本输出到控制台 将以上脚本保存到test.sh脚本文件中,并赋予可执行权限:sudo chmod +x test.sh 执行脚本:bash test.sh 控制台输出: 输出到控制台,并且写入日志文件:
本文向大家介绍Shell脚本实现监控iptables运行状态,包括了Shell脚本实现监控iptables运行状态的使用技巧和注意事项,需要的朋友参考一下 最近在调试服务器的iptables,自己做了个定时关iptables,但晚上回家很少开电脑,所以就没法去启动iptables,当然你可能会说,为什么不取消定时关闭iptables,我只能说个人的环境不一样,需求也就不一样. 脚本内容: vi i
本文向大家介绍Shell+Linux命令实现日志分析,包括了Shell+Linux命令实现日志分析的使用技巧和注意事项,需要的朋友参考一下 一、列出当天访问次数最多的IP 命令: 原理: 最后打印的结果大概是这样: 以下是其他一些分析日志的shell用法: 1、查看当天有多少个IP访问: 2、查看某一个页面被访问的次数; 3、查看每一个IP访问了多少个页面: 4、将每个IP访问的页面
本文向大家介绍Shell脚本实现监视指定进程的运行状态,包括了Shell脚本实现监视指定进程的运行状态的使用技巧和注意事项,需要的朋友参考一下 在之前的博客中,曾经写了自动化测试程序的实现方法,现在开发者需要知道被测试的进程(在此指运行在LINUX上的主进程的)在异常退出之前的进程的运行状态,例如内存的使用率、CPU的使用率等。 现用shell脚本实现指定进程的运行状态。直接上代码。 样实现了每1
本文向大家介绍Shell实现的Oracle启动脚本分享,包括了Shell实现的Oracle启动脚本分享的使用技巧和注意事项,需要的朋友参考一下 Usage: sh oracled [start|stop|restart] SIDs 其中SIDs是数据库名,多个名称之间用逗号分隔。缺省的操作是 restart ,也可以指定需要进行的操作( start | stop | restart )