tiger_by
Гл. Админ SourceGames.RU
- Сообщения
- 631
- Реакции
- 278
Меня лично запарили пачки логов на серверах. И наконец таки я выделили время и написал быдлокодерский скрипт на баш для очистки всех логов, кроме текущего.
Попутно меня волновал вопрос об отслеживании мата в чат. В итоге совместил приятное с приятным и получилось такое вот чудо...
Из требования к серверу игры - sv_logonefile 0
Из требований к системе - LINUX, нужен установленный sendmail
Если есть вопросы или предложения, то пишите.
Попутно меня волновал вопрос об отслеживании мата в чат. В итоге совместил приятное с приятным и получилось такое вот чудо...
Из требования к серверу игры - sv_logonefile 0
Из требований к системе - LINUX, нужен установленный sendmail
PHP:
#! /bin/bash
LOGS={path_to_server_logs} # путь к логам
E_MAIL={your e-mail} # адрес для получения
E_HEADER='Злобные матершинники' # заголовок письма
cd $LOGS;
if [ $(ls | wc -l) -gt 1 ]; then
table=$(cat * | grep -iE "(ху[йяеёи]|пизд|[^тс]еб[аулни]|пид[оа]р|г[ао]нд|су[кч][каи])" | sed "s/[<>]/*/g" | sed "s/^L/<tr><td>/g" | sed -r "s/( )+say(_team)? \"//g" | sed "s/\"$/<\/td><\/tr>/g" | sed "s/\"/<\/td><td>/g")
rm -f $(ls -t | grep -v $(ls -t | head -n1))
if [ ! -z $(echo $table | sed "s/ //g") ]; then
(cat <<EOCAT
Subject: $EHEADER
MIME-Version: 1.0
Content-Type: text/html; charset=utf8
Content-Disposition: inline
EOCAT
echo "<html><body><table cellspacing="0", border="1">Логи сервера $(grep hostname ../cfg/server.cfg | sed "s/hostname //g") $table</table></body></html>") | sendmail $E_MAIL
fi
fi
Последнее редактирование: