首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何阻止cron守护进程发送到电子邮件的特定警告?

如何阻止cron守护进程发送到电子邮件的特定警告?
EN

Unix & Linux用户
提问于 2020-07-30 13:55:43
回答 1查看 534关注 0票数 0

演示(或直接到实际问题部分)

我有一个用来扫描服务器的赖尼斯脚本。演示这个脚本并不重要,但下面是脚本:https://gitlab.com/sofibox/maxicron/-/blob/master/usr/local/maxicron/lynis/maxinis

此脚本运行良好,在通过终端手动运行时不会输出任何错误:

代码语言:javascript
复制
./maxinis manual --cronjob

我也会收到一封关于扫描的电子邮件。

但是,当我在特定的时间通过cronjob运行这个脚本时,如下所示:

代码语言:javascript
复制
06 21 * * *     root    /usr/local/maxicron/lynis/maxinis cron --cronjob > /dev/null

它也运行得很好,发送了一封电子邮件,但我收到了一封来自Cron Daemon的额外电子邮件,其中有3条警告输出,如下所示:

真正的问题是:

我的问题是,根据上面图片中的3条警告消息,我收到了cron守护进程电子邮件警告。如何抑制警告的第二行并保留Cron Daemon发送的其余输出?

输出的第二行是:

代码语言:javascript
复制
# Warning: iptables-legacy tables present, use iptables-legacy to see them

我尝试在crontab中使用这样的grep -v方法,但似乎不起作用:

代码语言:javascript
复制
06 21 * * *     root    /usr/local/maxicron/lynis/maxinis cron --cronjob > /dev/null | grep -v '# Warning: iptables-legacy tables present, use iptables-legacy to see them' 
EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2020-07-30 15:46:32

grep不起作用的原因是消息将发送给stderr,而不是stdout,因此grep永远不会看到它们。这就是为什么即使在将stdout发送到/dev/null之后也会收到电子邮件的原因。您可以像这样过滤stderr

代码语言:javascript
复制
somecommand > /dev/null 2>( grep -v 'unwanted error' 1>&2 )
票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/601097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档