Заставляем любой демон писать в свой лог,а не в syslog

Спасибо статье http://habrahabr.ru/post/259169/

Для того что б например cron не засирал syslog своим выхлопом делаем следующее:

— создаем файл лога,например /var/log/cron.log

— создаем файл конфига /etc/rsyslog.d/cron.conf с содержимым:

:msg, contains, «/USR/SBIN/CRON» -/var/log/cron.log
& ~

где: & ~ — говорит о том, что дальнейшую обработку записи производить не следует, поэтому она не попадет в другие файлы логов.
"/USR/SBIN/CRON" — тот самый log-prefix — критерий по которому rsyslog принимает решение перенаправить лог в нужный файл./var/log/cron.log — сам файл лога.

-перезагрузить демон rsyslogd

Так можно делать с любым демоном,токо задавай конфиг и строку по которой будут перехватываться сообщения.

UPD.03.03.2017

Теперь формат конфига rsyslog немного изменился и потому предыдущая настройка может не работать.Вот новый вариант рабочей настройки например для сбора от программы pop3d:

if ( $programname startswith «pop3d» ) then {
action(type=»omfile» file=»/var/log/courier-pop3d.log»)
stop
}

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Анти-спам: выполните заданиеWordPress CAPTCHA