在执行定时任务的时候碰到一个问题,手动执行脚本是成功的,但是定时任务调用脚本却失败.最后发现是在用户目录下bash_rc
文件导入(export)变量的问题,因为在用户登录以及登陆后打开一个新的终端shell环境时,系统会自动调用bash_rc
文件导入变量,但是定时任务执行时大开一个新的shell环境却并不会调用bash_rc
文件导入环境变量。
解决
在定时任务命令前加上调用bash_rc
的命令
5 * * * * source ~/.bashrc; sh /root/test.sh
或
5 * * * * . ~/.bashrc; sh /root/test.sh