Often need to statistics Apache site traffic based on the IP address, the most basic script.
In descending order based on IP traffic:
Copy Code code as follows:
#!/bin/bash
#Script_name: Access_count
Acc_log=/usr/local/apache2/logs/access_log
/bin/awk ' {print $} ' $ACC _log | Sort | uniq-c | Sort-nr
Execution effect:
Copy Code code as follows:
[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
Top three IP addresses for print traffic:
Copy Code code as follows:
#!/bin/bash
#Script_name: Access_count
Acc_log=/usr/local/apache2/logs/access_log
/bin/awk ' {print $} ' $ACC _log | Sort | uniq-c | Sort-nr | Head-n 3
Execution effect:
Copy Code code as follows:
[Root@zabbix ~]# SH access_count
94989 192.168.100.34
38863 192.168.200.92
23658 192.168.1.71
Apache Site access Error Statistics:
Copy Code code as follows:
#!/bin/bash
#Script_name: Error_count
Err_log=/usr/local/apache2/logs/error_log
Cat $err _log | Grep-e "^\[" | awk ' {print $} ' | Sort | Uniq-c |SORT-NR
Execution effect:
Copy Code code as follows:
[Root@zabbix ~]# SH error_count
701 [Core:notice]
[Mpm_event:notice]
[Core:warn]
1 [: ERROR]