菜鸟笔记
提升您的技术认知

crontab任务执行的环境

编写博客原因:碰到任务手动执行成功,crontab调度执行失败,详细排查发现手动的执行环境和crontab不一样。

在调度脚本上source当前账户的bash_profile配置,问题解决。

crontab执行环境在/etc/crontab,具体配置如下:

配置解释:前四行是用来配置crond任务运行的环境变量,第一行shell变量指定了系统要使用哪个shell,这里是bash,第二行PATH变量指定了系统执行命令的路径,第三行MAILTO变量指定了crond的任务执行信息将通过电子邮件发送给root用户,如果MAILTO变量的值为空,则表示不发送任务执行信息给用户,第四行的HOME变量指定了在执行命令或者脚本时使用的主目录。

手动执行的执行环境是当前账户的配置文件~/.bash_profile