好久没更新博客了,还是要坚持常更新常进步。
闲话不多说了,直接切入正题。最近在crontab部署定时脚本时,发现脚本正常启动,但无法获取已配置好的环境变量,如$JAVA_HOME。
经过进一步的探究,发现crontab启动定时任务时,只加载了/etc/environment,并未加载/etc/profile和~/.bash_profile文件里的配置。正确的做法,在shell脚本开头添加:
source ~/.bash_profile
source /etc/profile
问题得到完美解决