停止 crontab 填充 syslog Ubuntu 15.04

停止 crontab 填充 syslog 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)

答案1

尝试将 cron.none 添加到记录到 syslog 的行中

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

编辑:更多细节:来自 ubuntu 系统日志手册 http://manpages.ubuntu.com/manpages/hardy/man5/syslog.conf.5.html

特殊级别“无”禁用特定设施。

*.*开头的 表示将所有内容发送到指定文件。然后您可以在 之后限定它以;停止将特定消息发送到那里。在这里,我们说我们不希望看到身份验证消息,现在我们也不想要 cron 消息。没有什么可以阻止您将 cron 消息放在其他地方,并且默认文件有几行注释掉以以这种方式拆分日志。您所要做的就是取消注释它们。

您还可以通过更改级别(例如从记录所有消息的 cron.* 更改为仅记录警告消息的 cron.warn)来限制针对特定设施获取的消息。

感谢@peterh 的提醒,我是 Linux 社区的新手。

答案2

我猜你重启了rsyslog。因此,你应该会看到你的消息两次— 一次进去/var/log/syslog,一次进去/var/log/cron

因此,您所忽略的是,登录后/var/log/cron,处理应该停止。

cron.* /var/log/cron
& stop

您还可以配置过滤器以仅在其他地方记录某些消息,或者根本不记录 - 请查看rsyslog 过滤器手册为了那个原因。

相关内容