Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Dimasm
Зарегистрирован: 25.04.2005 Сообщения: 454
|
Добавлено: Вт Сен 18 2007 08:07 Заголовок сообщения: стирание логов |
|
|
я настроил IPTABLES чтобы он логировал все пакеты
сделал скрипт, который это всё разбирает, и скидывает в БД
сейчас натнулся на "камень"...
надо чтоб в БД не задваивались данные... т.е
по идее, я должен "удалять" лог, который скинул в БД,
или жать его и переносить в другую папку
но я заметил, что когда я удаляю файл лога, то до перезапуска syslog файл лога не появляется
как другой вариант, открывать файл на запись, и после добавления строки в БД тутже её удалять...
кто как делает? _________________ С уважением Dimasm |
|
Вернуться к началу |
|
 |
C37
Зарегистрирован: 09.03.2005 Сообщения: 311
|
Добавлено: Вт Сен 18 2007 10:28 Заголовок сообщения: |
|
|
Вместо стирания файла можно использовать cat /dev/null > /var/log/нужный_файл. Можно заставить syslogd писать в канал, чтобы скрипт читал оттуда, но это, похоже, не лучшая идея... |
|
Вернуться к началу |
|
 |
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Вт Сен 18 2007 12:23 Заголовок сообщения: |
|
|
Цитата: | но я заметил, что когда я удаляю файл лога, то до перезапуска syslog файл лога не появляется |
Черт возьми, логично! Ведь syslog не знает что файл стерли. Он его открыл при запуске и пишет в него. Скажу более - место на диске будет уменьшаться! Почему? Ну почитайте основы UNIX, там написано.
Что делать? Все просто. Надо переименовать файл и сообщить syslog-у чтобы перечитал конфиг. Типа так:
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null
Вот и все шаманство.
cat /dev/null > /var/log/нужный_файл - не самая лучшая идея. Данные затираться будут, что не очень хорошо.
man syslogd и почитайте про то, как syslogd обрабатывает сигнал SIGHUP. Думаю это то, что вам надо. |
|
Вернуться к началу |
|
 |
Dimasm
Зарегистрирован: 25.04.2005 Сообщения: 454
|
Добавлено: Вт Сен 18 2007 13:26 Заголовок сообщения: |
|
|
and3008 писал(а): | /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null |
не совсем понял эту команду... обнулится файл лога, и syslog заново его откроет?
тогда мне надо будет действовать так...
system("cat /var/log/iptables > tmp");
system("/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null");
далее обрабатываем tmp
...
верно? _________________ С уважением Dimasm |
|
Вернуться к началу |
|
 |
Dimasm
Зарегистрирован: 25.04.2005 Сообщения: 454
|
Добавлено: Вт Сен 18 2007 13:32 Заголовок сообщения: |
|
|
и ещё...
хочу чтоб скрипт каждые 10 минут запускался...
crond - поискал примеры...
добавил запись в /etc/crontab
0,10 * * * * root /root/log/load_iptables_log
перезапустил crond...
чё-то уже 20 мин прошло... не запускается скрипт
что не так? _________________ С уважением Dimasm |
|
Вернуться к началу |
|
 |
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Вт Сен 18 2007 16:15 Заголовок сообщения: |
|
|
Операцинка какая? Если Линукс, то погляди в /etc/logrotate.d Там найдешь ответы.
Про cron: читай внимательней MAN. Сейчас ты ему сказал запускать твой скрипт каждый час в 00 минут и в 10 минут. Все остальное время между 11 и 59 твой скрипт cron запускать не будет.
Разница между , и / описана в MAN-е. Но учти, все сильно зависит от версии crond. В Tru64 например / не прокатывает. Поэтому тебя к man-у и посылаю. |
|
Вернуться к началу |
|
 |
Dimasm
Зарегистрирован: 25.04.2005 Сообщения: 454
|
Добавлено: Ср Сен 19 2007 08:29 Заголовок сообщения: |
|
|
у меня SentOS 4... попробовал и запятую и с слеш... нифига не запускается скрипт
Код: | crontab [----] 0 L:[ 1+10 11/ 11] *(255 / 312b)= 0 48 0x30
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
0,10,20,30,40,50 * * * * root /root/log/load_iptables_log
|
судя по man - версия крона ISC Cron V4.1
нашёл куча примеров... так всё и записывается
в чём траблы?  _________________ С уважением Dimasm |
|
Вернуться к началу |
|
 |
|