首页/系统/Linux 运维命令速查/cron 输出与邮件:MAILTO 与重定向
本包目录(613 条)
文件与目录76 条文本处理77 条网络命令82 条进程与作业69 条磁盘与文件系统51 条用户与权限44 条日志与排查40 条systemd 与服务42 条包管理34 条性能与监控48 条
定时任务与计划50 条

cron 输出与邮件:MAILTO 与重定向

任务的标准输出与错误默认以邮件发给任务属主;没有 MTA 时既看不到也没人管。生产习惯:全部重定向到带日期或固定路径的日志。

Linux 运维命令速查系统更新于 2026-10-12
用途管理任务输出去向
默认stdout/stderr 汇总邮件给 crontab 所有者
做法MAILTO 关闭邮件 + 显式重定向

推荐写法

推荐写法
MAILTO=
30 2 * * * /opt/app/backup.sh >> /var/log/app/backup.log 2>&1
30 3 * * * /opt/app/sync.sh   >> /var/log/app/sync.log 2>&1

检查未读邮件

检查未读邮件
ls -l /var/spool/mail/$USER 2>/dev/null
mail 2>/dev/null | head
重定向顺序:2>&1 必须写在 >> 之后才能把错误也带进文件;顺序颠倒 stderr 仍会进邮件。

易错点

  • > file 2>&1 与 2>&1 > file 语义不同:前者都进文件,后者错误仍指向旧终端
  • 未装 MTA 时输出可能堆在 spool 或静默丢弃,任务看似成功实则错误被吞

数据来源与参考

  • man 5 crontab(MAILTO)
  • man 1 bash(重定向顺序)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌