最近发现现场每天重启程序的定时任务没有成功执行,在程序的启动日志中并没有打印定时任务执行时间点的日志信息。
查看 /var/log/cron 日志,发现定时任务已执行。
查看 /var/spool/mail/root 日志,发现脚本执行报错,没有找到环境变量。
查询了想关资料,发现crontab执行定时任务时不会缺省的从用户profile文件中读取环境变量参数,导致脚本执行失败。
解决方法:
1. 在添加定时任务时,在执行脚本的命令前加上 source /etc/profile && ,先加载环境变量,再执行脚本
2.修改脚本,在执行逻辑之前执行 source /etc/profile 命令即可