Периодически загружаются логи сервера cs1.6 на сервер www (через ftp, или еще как, не важно).
Нужно сделать на основе логов статистику использования карт.
вариант 1 - уже сделал, на базе скрипта bash. Но не знаю, как организовать сортировку.
вот код:
- Код: Выделить всё • Развернуть
#!/bin/bash
cd ~/mirrorlogs
d=$(date +%d)
m=$(date +%m)
echo -n `date`
echo "- Начало копирования логов сервера pugachev-cs.vfose.ru"
lftp -c connect -e "mget L${m}${d}*.log" -u ftp_login,ftppassw pugachev-cs.vfose.ru
echo -n `date`
echo "- Начало вычисления статистики"
#записываем header (начало html-страницы)
cat header > stats.htm
#пишем саму статистику по картам
grep "Started\ map\ " L${m}${d}*.log > Lmapday.log
grep "Started\ map\ " L${m}*.log > Lmapmonth.log
grep "Started\ map\ " L[0-9][0-9]*.log > Lmapall.log
sync
for csmap in de_inferno de_aztec de_dust de_dust2 de_nuke de_train cs_counterquake cs_mansion fy_pool_day aaa_deagle 1hp 35hp 35hp_2 cs_mansion2 cs_mansion3 cs_mansion5 aim_ak-colt aim_aztec aim_headshot awp_city awp_map awp_map3 awp_map5 de_dust2_2x2 de_dust4 mini_dust2 de_dust2_2006 de_dust2_night de_go_go_go v2 cs_747 de_afghan cs_italy de_aztec2 de_aztecx de_cbble de_clan1_mill de_cpl_mill de_cpl_strike de_2minaret de_piranesi de_prodigy de_rats de_railroad de_rotterdam de_storm de_survivor de_torn de_vertigo de_vegas de_chateau VS fy_snow 1337_ak47 a2k_aimskillz cs_newmansion
do
LdayCount=`grep -c \""$csmap"\" Lmapday.log`
LmonthCount=`grep -c \""$csmap"\" Lmapmonth.log`
LallCount=`grep -c \""$csmap"\" Lmapall.log`
#за сегодня, текущий месяц, всего. Дописываем строку в stats.htm
echo "<tr><td>$csmap: </td><td> ${LdayCount} </td><td> ${LmonthCount} </td><td> ${LallCount} </td></tr>" >> stats.htm
done
echo "<tr><td><font color=\"green\"><hr>Всего карт: </td><td><font color=\"green\"><hr> `grep -c map Lmapday.log` </td><td><font color=\"green\"><hr> `grep -c map Lmapmonth.log` </td><td><font color=\"green\"><hr> `grep -c map Lmapall.log` </td></tr>" >> stats.htm
#записываем footer (нижнюю часть, завершение html-страницы)
cat footer >> stats.htm
#сохраняем изменения на диск
sync
#копируем в папку веб-сервера
cp -f stats.htm /var/www/html/stats.htm
echo -n `date`
echo "- Завершено."
получаем страничку в html по адресу http://pug-cs.vfose.ru/stats.htm
вариант 2 - устанавливаем halfStats, это скрипт на перле, по-идее должен выдавать и статистику карт (с сортировкой) и статистику игроков и используемого оружия. Однако, выдает реально только статистику карт, остальное по нулям. В консоль скрипт выводит No wonID, No PlayerNum
В копирайтах получаемых страниц есть дата 2001 год и ссылка на сайт http://www.halfstats.com - не работает (this domain for sale - домен продается). В общем, автор пропал, скрипт довольно большой, перл я не знаю, потому поправить не смогу
МОжет есть еще какие анализаторы логов? хотелось бы именно на базе какого-нибудь скрипта, чтобы можно было что-то менять.