Команда Shell, чтобы показать большинство хитов за данный период - PullRequest
0 голосов
/ 25 января 2019

Я хочу показать IP-адреса по попаданиям на моем сервере. Я нашел следующее, что, кажется, делает это:

    awk -vDate=`date -d'now-10 minutes' +[%d/%b/%Y:%H:%M:%S` ' { if ($4 > Date) print $1}'  /usr/local/apache/logs/access_log | sort  |uniq -c |sort -n | tail

Отображает что-то вроде

    3346 123.242.4.51
    14315 123.0.0.1
    35951 123.73.173.170

Проблема в том, что он всегда показывает это на день. Так что, если я запустлю его в 8 часов утра, а затем снова в 8 часов вечера, он отобразит то же самое. Но если я запускаю его на следующий день, он меняется. Мне кажется, я нашел здесь команду, которая может быть неправильной. Кто-нибудь, пожалуйста, покажите правильную команду, предполагая, что это возможно?

1 Ответ

0 голосов
/ 25 января 2019

Вот несколько примеров записей журнала. Для этих записей сценарий будет показывать 3 попадания по IP 678.138.147.158 и 2 по 127.0.0.1. Большинство используемых здесь IP-адресов не являются действительными IP-адресами, если кто-то это заметит.

    678.138.147.158 - - [25/Jan/2019:13:43:52 -0500] "GET / HTTP/1.1" 200 163 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"
    665.73.173.170 - - [25/Jan/2019:13:44:18 -0500] "GET / HTTP/1.0" 200 163 "-" "check_http/v1.4.16 (nagios-plugins 1.4.16)"
    127.0.0.1 - - [25/Jan/2019:13:45:01 -0500] "GET /whm-server-status HTTP/1.0" 200 50752 "-" "-"
    678.138.147.158 - - [25/Jan/2019:13:45:18 -0500] "GET / HTTP/1.0" 200 163 "-" "check_http/v1.4.16 (nagios-plugins 1.4.16)"
    150.244.199.72 - - [25/Jan/2019:13:45:57 -0500] "GET / HTTP/1.1" 200 163 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36"
    678.138.147.158 - - [25/Jan/2019:13:46:18 -0500] "GET / HTTP/1.0" 200 163 "-" "check_http/v1.4.16 (nagios-plugins 1.4.16)"
    127.0.0.1 - - [25/Jan/2019:13:47:09 -0500] "GET / HTTP/1.0\n" 400 10087 "-" "-"
...