Назад | Перейти на главную страницу

Остановить crontab от заполнения системного журнала Ubuntu 15.04

Как я могу предотвратить (определенные cronjobs) заполнение моего системного журнала в Ubuntu 15.04? У меня есть задания, которые выполняются 4 раза в минуту и ​​быстро заполняют мои файлы системного журнала.

Я пробовал добавить:

cron.*                                                  /var/log/cron

в /etc/rsyslog.conf, но это ничего не решило.

Текущий выход:

Aug  8 06:58:01 elitegameservers CRON[25706]: (gijs) CMD (   sleep 15; unison -batch /var/www ssh://server1//var/www)
Aug  8 06:58:01 elitegameservers CRON[25703]: (gijs) CMD (   sleep 30; unison -batch /var/www ssh://server2//var/www)
Aug  8 06:58:01 elitegameservers CRON[25708]: (gijs) CMD (unison -batch /var/www ssh://server2//var/www)
Aug  8 06:58:01 elitegameservers CRON[25713]: (gijs) CMD (   sleep 30; unison -batch /var/www ssh://server1//var/www)
Aug  8 06:58:01 elitegameservers CRON[25714]: (gijs) CMD (   sleep 45; unison -batch /var/www ssh://server1//var/www)
Aug  8 06:58:01 elitegameservers CRON[25717]: (gijs) CMD (   unison -batch /var/www ssh:// server3//var/www)
Aug  8 06:58:01 elitegameservers CRON[25719]: (gijs) CMD (   sleep 15; unison -batch /var/www ssh:// server3//var/www)
Aug  8 06:58:01 elitegameservers CRON[25690]: (CRON) info (No MTA installed, discarding output)
Aug  8 06:58:01 elitegameservers CRON[25694]: (CRON) info (No MTA installed, discarding output)
Aug  8 06:58:08 elitegameservers CRON[25588]: (CRON) info (No MTA installed, discarding output)

Попробуйте добавить cron.none в строку, которая записывается в системный журнал

*.*;auth,authpriv.none,cron.none    -/var/log/syslog

РЕДАКТИРОВАТЬ: более подробно: из справочной страницы ubuntu для syslog http://manpages.ubuntu.com/manpages/hardy/man5/syslog.conf.5.html

Специальный уровень «none» отключает определенное средство.

В *.* в начале говорит отправить все в указанный файл. Затем вы можете квалифицировать это после ; , чтобы остановить отправку определенных сообщений. Здесь мы говорим, что не хотим, чтобы сообщения авторизации были видны, и теперь мы не хотим, чтобы сообщения cron тоже были. Ничто не мешает вам помещать сообщения cron в другое место, а в файле по умолчанию есть несколько закомментированных строк для разделения журналы таким образом. Все, что вам нужно сделать, это не комментировать их.

Вы также можете ограничить количество сообщений, которые вы получаете для определенного объекта, изменив уровень, например, с cron. *, Который будет регистрировать все сообщения, на cron.warn, который будет регистрировать только предупреждающие сообщения.

Спасибо за предупреждение @peterh. Я новичок в этом сообществе Linux.

Я думаю, ты перезапустил rsyslog. В результате вы должны увидеть свои сообщения дважды - однажды в /var/log/syslog и однажды в /var/log/cron.

Так что вам не хватает того, что после входа в /var/log/cron, обработка должна остановиться.

cron.* /var/log/cron
& stop

Вы также можете настроить фильтры так, чтобы они регистрировали только некоторые сообщения в другом месте или не регистрировали их вообще - посмотрите на rsyslog фильтры руководство для этого.