重定向 cronjobs 的 STDOUT

重定向 cronjobs 的 STDOUT

我有一个 Ubuntu 14.04 虚拟专用服务器。

这里定义了几个 cronjobs:

00 03 * * * cd /root && ./backupJob.sh
00 04 * * * sudo -u www-data php /var/www/dir/htdocs/bin/indexer.php
00 05 * * * cd /root && ./cleanUpUploadedFilesJob.sh

MAILTO=""现在,系统管理员会收到每项 cronjob 执行的电子邮件,即使成功也是如此。请注意,我在同一台机器上运行了 postfix,但crontab 中没有。

目标是仅当脚本的退出值不为 0 时才接收电子邮件。

如果我1>/dev/null向每一行添加内容,我的标准输出会被重定向吗?否则,标准错误的行为会保持不变吗?

答案1

如果我在每一行添加 1>/dev/null,我的标准输出会被重定向吗?

是的,到/dev/null。实际上,STDOUT 将被丢弃,因此不会为 STDOUT 发送任何邮件。

否则,标准错误的行为会保持不变吗?

是的;只需注意,如果需要重定向 STDERR,则需要使用文件描述符 2,例如重定向到/dev/null(即丢弃 STDERR)... 2>/dev/null:。

相关内容