背景
-
crontab 定时任务死都找不到java命令
-
/home/mysql/data-integration/spoon.sh: line 211: java: command not found
查看/etc/profile
-
export HISTTIMEFORMAT="%F %T `whoami` "
-
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin
-
export JAVA_HOME=/usr/local/jdk
-
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
-
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
-
-
java路径已经配置为全局环境变量了为什么还会报找不到java命令的错误呢?
因为crontab还有一个自己的环境变量
-
[root@RZ-PROD-DB-G10-02 log]# more /etc/crontab
-
SHELL=/bin/bash
-
PATH=/sbin:/bin:/usr/sbin:/usr/bin
-
MAILTO=root
-
HOME=/
我们再看下java的路径
-
[root@RZ-PROD-DB-G10-02 log]# which java
-
/usr/local/jdk/bin/java
上面两个可以看出,因为java的路径不在crontab的环境变量中
解决办法:
-
[root@RZ-PROD-DB-G10-03 kettle]# ln -s /usr/local/jdk/bin/java /usr/bin/java
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29096438/viewspace-2144379/
,如需转载,请注明出处,否则将追究法律责任。