解决ubuntu下定时任务不执行的问题
先打开日志
查看cron运行日志(/var/log/cron.log
),但是并未找到相关文件,原因是ubuntu
默认没有开cron
日志,执行命令:
1 | sudo vim /etc/rsyslog.d/50-default.conf |
找到cron.log
相关行,将前面注释符#去掉,保存退出,重启rsyslog
:
1 | sudo service rsyslog restart |
执行less -10 /var/log/cron.log
再次查看cron
运行日志,log
出来了,提示如下信息:
1 | No MTA installed, discarding output |
原因是cron把屏幕输出都发送到email了,而当前环境并未安装email server,于是系统报错,解决方面就是不要直接向屏幕输出内容,而是重定向到一个文件。
修改任务文件
1 | sudo vim /var/spool/cron/crontabs/waterfronter |
将末行改为:
1 | * * * * * echo "Hello world!" >> /tmp/cron_log.txt |
保存退出,同时reload cron
服务:
1 | sudo service cron reload |
若干分钟后查看/tmp/cron_log.txt
,“Hello world!”每隔一分钟输出一次,问题解决。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 小贺同学的blog!
评论