經常需要根據ip地址統計apache站點訪問量,最基本的腳本.
根據ip訪問量降序排列:
復制代碼?代碼如下:
#!/bin/bash
#script_name: access_count
acc_log=/usr/local/apache2/logs/access_log
/bin/awk ‘{print $1}’ $acc_log? | sort | uniq -c | sort -nr
執行效果:
復制代碼?代碼如下:
[root@zabbix ~]# sh access_count
? 94989 192.168.100.34
? 38863 192.168.200.92
? 23658 192.168.1.71
? 16720 192.168.100.80
? 13688 192.168.200.34
?? 1618 192.168.100.104
?? 1251 192.168.1.202
?? 1195 192.168.100.30
?? 1058 192.168.1.203
??? 934 192.168.1.208
??? 792 127.0.0.1
??? 773 192.168.5.126
??? 189 192.168.1.68
打印訪問量前三的ip地址:
復制代碼?代碼如下:
#!/bin/bash
#script_name:access_count
acc_log=/usr/local/apache2/logs/access_log
/bin/awk ‘{print $1}’ $acc_log? | sort | uniq -c | sort -nr | head -n 3
執行效果:
復制代碼?代碼如下:
[root@zabbix ~]# sh access_count
? 94989 192.168.100.34
? 38863 192.168.200.92
? 23658 192.168.1.71
apache站點訪問錯誤統計:
復制代碼?代碼如下:
#!/bin/bash
#script_name:Error_count
err_log=/usr/local/apache2/logs/error_log
cat? $err_log | grep -e “^[” |? awk ‘{print $6}’ | sort | uniq -c |sort -nr
執行效果:
復制代碼?代碼如下:
[root@zabbix ~]# sh error_count
??? 701 [core:notice]
???? 30 [mpm_event:notice]
???? 12 [core:warn]
????? 1 [:error]