В моем Apache2 access.log, как мне отфильтровать то, что отображается? - PullRequest
1 голос
/ 11 марта 2010

Кто-то сказал мне сделать это, чтобы отследить, как последние люди попали на мой сервер:

tail -f access.log

Тем не менее, здесь отображаются все «включения», включая файл JS, графику и т. Д. Что если я просто хочу увидеть страницы, на которые люди попадают? Как мне отфильтровать это с помощью tail -f?

Ответы [ 2 ]

1 голос
/ 11 марта 2010

Вы можете передать вывод через grep или awk. Например, если все ваши страницы имеют .php в URL, вы можете попробовать следующее:

tail -f access.log | grep '\.php'

Если ваши журналы доступа содержат поле реферера, вышеприведенное также будет соответствовать многим ресурсам. Нас интересуют только события с .php в поле запроса, а не в поле реферера. Используя awk, мы можем различать их.

tail -f access.log | awk '$7 ~ /\.php/ { print }'

Возможно, вам придется настроить $7, если ваш формат журнала необычный.

0 голосов
/ 11 марта 2010

, если вы обслуживаете .php файлы:

tail -f access_log | grep ".php"

альтернативно, если все ваши включения находятся в папке с именем "include", например:

tail -f access_log | grep "include" -v

или если вы хотите посчитать попадания в определенный файл:

grep "filename" access_log -c
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...