crontab日志显示:(CRON) info (No MTA installed, discarding output)

分享于:2019-02-01 10:09:18

问题 
使用crontab进行设置定时任务,任务没有执行. 
使用命令

tail /var/log/syslog

查看文件,看到cron报错:

(CRON) info (No MTA installed, discarding output)

主要原因 
报错的主要原因是没有配置邮件服务器.

导致出错的情况及解决办法 
有两种情况会导致这个现象.

(1)命令中含有shell指令 
执行命令

crontab -e

查看当前用户的计划任务 
当你运行的任务中包含shell命令,就会报错.例如下面的第二个任务:

date >log
./temp.sh >`date`.log

可以通过安装邮件服务器解决该问题.

sudo apt-get install postfix

重新配置邮件服务

sudo dpkg-reconfigure postfix

The user interface will be displayed. On each screen, select the following values:

Ok 
Internet Site 
NONE 
mail.example.com 
mail.example.com, localhost.localdomain, localhost 
No 
127.0.0.0/8, 192.168.0/24 
Yes 


all

(2)执行任务过程中会往屏幕输出内容 
当你执行的是个脚本文件时,你可以把文件的输出重定向到某个文件中.例如:

cd /home/wang && ./temp.sh > temp.log

或者不需要保留执行的输出,则重定向到null中:

cd /home/wang && ./temp.sh > /dev/null 2>&1

来源:https://blog.csdn.net/qq_37186127/article/details/78862419