Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
помогите "прочитать" лог апача |

20.04.2008, 21:38
|
|
Новичок
Регистрация: 11.10.2005
Сообщений: 18
Провел на форуме: 14836
Репутация:
0
|
|
помогите "прочитать" лог апача
помогите "прочитать" лог апача httpd-access.log
xxx.xxx.xxx.xxx - user [09/Apr/2008:14:14:26 +0700] "GET /козявки/2.jpg HTTP/1.1" 200 78226
xxx.xxx.xxx.xxx - user [09/Apr/2008:14:14:26 +0700] "GET /букашки/2.jpg HTTP/1.1" 200 78226
xxx.xxx.xxx.xxx - user [09/Apr/2008:14:14:26 +0700] "GET /козявки/2.jpg HTTP/1.1" 200 78226
xxx.xxx.xxx.xxx - user [09/Apr/2008:14:14:48 +0700] "GET /букашки/main.html HTTP/1.1" 401 401
xxx.xxx.xxx.xxx - user [09/Apr/2008:14:14:26 +0700] "GET /козявки/2.jpg HTTP/1.1" 200 78226
xxx.xxx.xxx.xxx - user [09/Apr/2008:14:14:26 +0700] "GET /букашки/2.jpg HTTP/1.1" 200 78226
xxx.xxx.xxx.xxx - user [09/Apr/2008:14:14:58 +0700] "GET /клопы/2.jpg HTTP/1.1" 206 61842
xxx.xxx.xxx.xxx - user [09/Apr/2008:14:14:26 +0700] "GET /козявки/2.jpg HTTP/1.1" 200 78226
xxx.xxx.xxx.xxx - user [09/Apr/2008:14:15:00 +0700] "GET /клопы/3.jpg HTTP/1.1" 206 66184
xxx.xxx.xxx.xxx - user [09/Apr/2008:14:14:26 +0700] "GET /клопы/2.jpg HTTP/1.1" 200 78226
xxx.xxx.xxx.xxx - user [09/Apr/2008:14:14:26 +0700] "GET /букашки/2.jpg HTTP/1.1" 200 78226
xxx.xxx.xxx.xxx - user [09/Apr/2008:14:14:26 +0700] "GET /клопы/2.jpg HTTP/1.1" 200 78226
надо выдернуть оттуда цифру объема полученного контента с проверкой кода 200 (кстати, че за код такой 206?) просуммировав ее для каждого конкретного места (козявки, букашки, клопы  ), и отдать ее через в веб-морду в удобоваримой форме узеру.
Как это реализовать? Думаю накарябать примитивный шел-скрипт (используя sed, awk) с последущей обработкой и выводом (php, perl иль ешшо как).
Проблема в следущем - все это должно быть готово уже ...два месяца назад
А мож есть готовые решения, че я квадратные колеса изобретаю?
|
|
|

20.04.2008, 23:13
|
|
Участник форума
Регистрация: 29.01.2008
Сообщений: 207
Провел на форуме: 725225
Репутация:
450
|
|
посмотри на _http://awstats.sourceforge.net/
HTTP/1.0 206 Partial Content" это для докачки.
Последний раз редактировалось Ymrs; 20.04.2008 в 23:22..
|
|
|

20.04.2008, 23:49
|
|
Новичок
Регистрация: 11.10.2005
Сообщений: 18
Провел на форуме: 14836
Репутация:
0
|
|
Сообщение от Ymrs
посмотри на _http://awstats.sourceforge.net/
уууу.... эт как то все круто... много лишнего...
задачка-то примитивна как огурец, разобрать строку, сложить все цифры и отдать узеру...
|
|
|

21.04.2008, 15:55
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
вообщето для такой цели на серваках ставят Webalizer - который как раз и ведет подобную статистику 
|
|
|

22.04.2008, 00:04
|
|
Новичок
Регистрация: 11.10.2005
Сообщений: 18
Провел на форуме: 14836
Репутация:
0
|
|
Сообщение от slesh
вообщето для такой цели на серваках ставят Webalizer - который как раз и ведет подобную статистику 
спс, направление мысли понятно... хорошо, когда есть готовый качественный опенсофт
но мне прежде всего интересен сам процесс отработки скриптов, передача параметров и т.п. на данном примере... решение к-рого м.б. полезным в других "нестандартных" ситуациях 
|
|
|

22.04.2008, 03:20
|
|
Участник форума
Регистрация: 30.09.2006
Сообщений: 134
Провел на форуме: 352963
Репутация:
197
|
|
Смотри, у тебя разделяет слова пробел - " "! С помощью explode - разделяем слова и пихаем в массив. Что-то типа:
PHP код:
<?
$str = "xxx.xxx.xxx.xxx - user [09/Apr/2008:14:14:26 +0700] 'GET /козявки/2.jpg HTTP/1.1' 200 78226";
list($dat1,$dat2,$dat3,$dat4,$dat5,$dat6,$dat7,$dat8,$dat9,$dat10) = explode(" ", $str);
$dat5 = str_replace("+","",$dat5); #вырезаем +
$dat5 = str_replace("]","",$dat5); #вырезаем ]
# теперь как ты говоришь тебе всё нужно сложить #(цифры). Цифр у нас 3! в массиве это dat5,9,10! Вот #их и складываем.
echo ($dat5+$dat9+$dat10);
?>
Вот и всё. Выводит результат всех цифровых значений.
|
|
|

23.04.2008, 13:39
|
|
Новичок
Регистрация: 11.10.2005
Сообщений: 18
Провел на форуме: 14836
Репутация:
0
|
|
Сообщение от KindEcstasy
Смотри, у тебя разделяет слова пробел - " "! С помощью explode - разделяем слова и пихаем в массив. Что-то типа:
PHP код:
<?
$str = "xxx.xxx.xxx.xxx - user [09/Apr/2008:14:14:26 +0700] 'GET /козявки/2.jpg HTTP/1.1' 200 78226";
list($dat1,$dat2,$dat3,$dat4,$dat5,$dat6,$dat7,$dat8,$dat9,$dat10) = explode(" ", $str);
$dat5 = str_replace("+","",$dat5); #вырезаем +
$dat5 = str_replace("]","",$dat5); #вырезаем ]
# теперь как ты говоришь тебе всё нужно сложить #(цифры). Цифр у нас 3! в массиве это dat5,9,10! Вот #их и складываем.
echo ($dat5+$dat9+$dat10);
?>
Вот и всё. Выводит результат всех цифровых значений.
а чем, собсно, определяется длина массива? про "козявки-букашки", сам понимаш, эт малый фрагмент логов апача...
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|