我有一个 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
:。