經常需要根據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]