Как отключить записи списка crontab в журнале cron?

У меня есть скрипт на сервере, который запускается каждые несколько минут и, среди прочего, проверяет, не были ли введены вредоносные записи crontab. Чтобы сделать это, я проверяю crontab всех пользователей, и все работает хорошо, но мой файл /var/log/cronзаполняется записями всех списков crontab, поэтому каждый раз, когда я запускаю скрипт, он регистрирует все списки crontab, подобные этому :

Nov 30 17:16:02 myserv crontab[348610]: (root) LIST (root)
Nov 30 17:16:02 myserv crontab[348611]: (root) LIST (bin)
Nov 30 17:16:02 myserv crontab[348612]: (root) LIST (daemon)
Nov 30 17:16:02 myserv crontab[348613]: (root) LIST (adm)
Nov 30 17:16:02 myserv crontab[348614]: (root) LIST (lp)
Nov 30 17:16:02 myserv crontab[348615]: (root) LIST (sync)
Nov 30 17:16:02 myserv crontab[348616]: (root) LIST (shutdown)
Nov 30 17:16:02 myserv crontab[348617]: (root) LIST (halt)
Nov 30 17:16:02 myserv crontab[348618]: (root) LIST (mail)
Nov 30 17:16:02 myserv crontab[348619]: (root) LIST (operator)
Nov 30 17:16:02 myserv crontab[348620]: (root) LIST (games)
Nov 30 17:16:02 myserv crontab[348621]: (root) LIST (ftp)
Nov 30 17:16:02 myserv crontab[348622]: (root) LIST (smb)
Nov 30 17:16:02 myserv crontab[348623]: (root) LIST (named)
Nov 30 17:16:02 myserv crontab[348624]: (root) LIST (postgres)
Nov 30 17:16:02 myserv crontab[348625]: (root) LIST (mysql)
.....

. ] поэтому он излишне заполняет файл журнала. Я играл с разными селекторами, но кажется, что при выборе cron.infoон показывает всю информацию, тогда как cron.noticeне показывает, когда crontab редактировался или выполнялся, что снова мне нравится в моих журналах.

# Log cron stuff
cron.*                                                  /var/log/cron

cron.*похоже на cron.infoЛюбые идеи, как исключить записи «СПИСОК»? поэтому /var/log/cronбудет выглядеть так:

Nov 30 17:24:02 mysrv CROND[349831]: (root) CMDEND (/etc/cron.b/check nout >/dev/null 2>&1)
Nov 30 17:28:01 mysrv CROND[350781]: (root) CMD (/etc/cron.b/check nout >/dev/null 2>&1)
0
задан 30 November 2021 в 15:34
1 ответ

Я нашел решение с фильтром, для всех, кому интересно. Я вставил заявление выше cron.info, чтобы удалить нежелательные сообщения. так что мое решение выглядит как:

:msg, contains, "(root) LIST"                           ~
cron.*                                                  /var/log/cron

теперь все строки с записями «(root)LIST» будут отброшены.

0
ответ дан 30 November 2021 в 21:06

Теги

Похожие вопросы