URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 84797
[ Назад ]

Исходное сообщение
"Ротация логов"

Отправлено al , 06-Апр-09 11:39 
Всем добрый день. Вопрос довольно тривиальный, но пока не понял в чем проблема.
Есть почтовый сервер (с mysql и др.), на котором параллельно крутиться DNS-сервер.
Т.к. логи разрастаются очень быстро, то хочу сделать ротацию логов. Делаю это через /etc/newsyslog.conf
Так вот ротация логов для /var/log/maillog проходит без проблем. Строчка конфига для него такая:
/var/log/maillog...................640...7.......*......@T00....JC
Также запущена ротация лога для bind'а, тоже все работает, строчка такая:
/var/log/named.log........bind:bind.......644.....7......*.....@T00...JC
Но т.к. у меня еще на почтовом серваке крутится clamav, то и для него тоже хочу сделать ротацию логов. Строчки пишу такие:
/var/log/clamav/freshclam.log...vscan:clamav....640...7.....*....@T00...JNCB
/var/log/clamav/clamd.log ......vscan:clamav....640...7.....*....@T00...JNCB
Но нифига не работает правильно. Т.е. новый файл вовремя создается, старый сжимается, но в новый файл нифига не пишется, и начинается писаться только если перезапустить clamd и freshclam. Такая же ситуация и с mysql, который тоже будет писать логи в новый файл только после того, как перезапустить сам mysql.
Объясните, пожалуйста, где тут собака зарыта и как быть?
Спасибо.

Содержание

Сообщения в этом обсуждении
"Ротация логов"
Отправлено urusha , 06-Апр-09 12:11 
чтоб freshclam и clamd переоткрывали файлы логов, им надо слать сигнал HUP при ротации... в вашем случае это будет примерно так
/var/log/clamav/clamd.log vscan:clamav 640 7 * @T00 JNCB /var/run/clamd.pid 1
и тп
проверьте, чтоб clamd оставлял в файле clamd.pid свой pid, в clamd.conf должно быть чтото типа pidfile

"Ротация логов"
Отправлено gennadys , 06-Апр-09 12:30 
>[оверквотинг удален]
>для него тоже хочу сделать ротацию логов. Строчки пишу такие:
>/var/log/clamav/freshclam.log...vscan:clamav....640...7.....*....@T00...JNCB
>/var/log/clamav/clamd.log ......vscan:clamav....640...7.....*....@T00...JNCB
>Но нифига не работает правильно. Т.е. новый файл вовремя создается, старый сжимается,
>но в новый файл нифига не пишется, и начинается писаться только
>если перезапустить clamd и freshclam. Такая же ситуация и с mysql,
>который тоже будет писать логи в новый файл только после того,
>как перезапустить сам mysql.
>Объясните, пожалуйста, где тут собака зарыта и как быть?
>Спасибо.

Послать процессу сигнал HUP.


"Ротация логов"
Отправлено al , 06-Апр-09 13:10 
>[оверквотинг удален]
>>/var/log/clamav/clamd.log ......vscan:clamav....640...7.....*....@T00...JNCB
>>Но нифига не работает правильно. Т.е. новый файл вовремя создается, старый сжимается,
>>но в новый файл нифига не пишется, и начинается писаться только
>>если перезапустить clamd и freshclam. Такая же ситуация и с mysql,
>>который тоже будет писать логи в новый файл только после того,
>>как перезапустить сам mysql.
>>Объясните, пожалуйста, где тут собака зарыта и как быть?
>>Спасибо.
>
>Послать процессу сигнал HUP.

Спасибо.


"Ротация логов"
Отправлено skvernobot , 06-Апр-09 18:41 
>/var/log/clamav/freshclam.log...vscan:clamav....640...7.....*....@T00...JNCB
>/var/log/clamav/clamd.log ......vscan:clamav....640...7.....*....@T00...JNCB
>Но нифига не работает правильно. Т.е. новый файл вовремя создается, старый сжимается,
>но в новый файл нифига не пишется, и начинается писаться только
>если перезапустить clamd и freshclam. Такая же ситуация и с mysql,
>который тоже будет писать логи в новый файл только после того,
>как перезапустить сам mysql.
>Объясните, пожалуйста, где тут собака зарыта и как быть?
>Спасибо.

Я сделал немного по другому.

В clamd.conf
LogSyslog yes
LogFacility LOG_LOCAL0

В syslog.conf
local0.none;*.notice;authpriv.none;kern.debug;mail.crit     /var/log/messages

т.е. local0.none что бы не логилось в /var/log/messages

local0.*     /var/log/clamav/clamd.log
что бы логилось в /var/log/clamd.log

В newsyslog.conf
/var/log/clamav/clamd.log...vscan:clamav.660.7.1000.*...JCZ

перезапустить killall -HUP syslogd

PS. Верно для системы Freebsd любых версий) проверено на 6.4