Можно ли создать файл журнала (например, not_found.log) только с кодом состояния HTTP 404 с помощью Apache2?
Именно так: http://www.helicontech.com/articles/mod_log_config-capabilities/ (В зависимости от кода состояния)
Основная проблема с этим решением заключается в том, что, когда статус не совпадает, каждый журнал будет содержать неинформативную запись вроде этой (-, - - -):
кот /var/log/apache2/not_found.log
[28 августа 2013 г .: 16:45:42 +0200] 192.168.1.0., Opera / 9.80 (X11; Linux x86_64) Presto / 2.12.388 Версия / 12.15 /index.php/LogApache/titi 404
[28 августа 2013 г .: 16: 45: 43 +0200] 88.191.153.141, Opera / 9.80 (X11; Linux x86_64) Presto / 2.12.388 Версия / 12.15 /favicon.ico 404 - -, - - - - - , - - -
Моя цель - подсчитать 404 попадания, а анализ access_log с более чем 1 000 000 строк занимает слишком много времени, поэтому я просто хочу запустить wc -l на not_found.log.
Заранее спасибо за вашу помощь,
С уважением,
Моя цель - подсчитать 404 попадания, а анализ access_log с более чем 1 000 000 строк занимает слишком много времени, поэтому я просто хочу запустить wc -l на not_found.log.
graeme@server:~$ wc -l access_log
10219670 access_log
graeme@server:~$ time awk '$9 == 404' access_log |wc -l
11060
real 0m23.791s
user 0m14.440s
sys 0m2.450s
Это 23 секунды, чтобы подсчитать 404 в файле с 10 000 000 строк. Не достаточно быстро?