在linux中执行shell脚本,当前用户执行没有问题,设置为定时任务却报错,有可能的原因有

主要原因是crontab执行和当前用户的执行权限和配置环境不一样,所以导致你的配置环境在crontab用户上还得重新配置一次,只需要在开头的时候引用一下配置环境的脚本就可以了。

比如:我的一个shell脚本中会有一条命令:

`hadoop fs -get xxxxx ./`

我在当前用户运行脚本没有问题,但是在配置定时任务的时候却出现以下错误提示:

hadoop command not found

这种错误只有在环境变量没有配置好的时候才会出现,所以可以考虑在脚本的前一行加上:

source ~/.bashrc
#或者
source ~/.bash_profile

其中 set_env.sh里面的内容和bashrc内容类似,就可以了

Logo

更多推荐