背景:
写了个发送邮件的脚本,放在机器上用crontab设置每日10点执行,结果一直没有收到邮件。
现象:
crontab 日志没有任何报错信息
手动执行脚本也没有报错,但就是收不到邮件,其它定时任务正常,所以应该是这个定时任务没有执行成功。
解决:
查询相关资料发现,可能是因为crontab的环境变量和系统环境变量不一致导致,修改crontab先输出任务的错误日志看看有没有异常:
设定一个最近的时间,等待任务执行后,查看log:
找不到result目录,在写代码时为了方便,我的result目录和脚本文件在一个路径下,所以代码中使用了相对路径:
猜测应该是由于这个原因而找不到result,因此修改代码为绝对路径:
重新设置定时任务,执行成功收到邮件,可以看到之前输出的errorlog也没有再报错了。
reference
https://blog.csdn.net/dancen/article/details/24355287
https://www.cnblogs.com/besharp/p/13650175.html
https://blog.csdn.net/u012129607/article/details/80418149