【Linux】一個坑比的crontab問題

小亮520cl發表於2017-08-31
背景
  1. crontab 定時任務死都找不到java命令
  2. /home/mysql/data-integration/spoon.sh: line 211: java: command not found

檢視/etc/profile
  1. export HISTTIMEFORMAT="%F %T `whoami` "
  2. export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin
  3. export JAVA_HOME=/usr/local/jdk
  4. export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
  5. export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar

  1. java路徑已經配置為全域性環境變數了為什麼還會報找不到java命令的錯誤呢?

因為crontab還有一個自己的環境變數
  1. [root@RZ-PROD-DB-G10-02 log]# more /etc/crontab
  2. SHELL=/bin/bash
  3. PATH=/sbin:/bin:/usr/sbin:/usr/bin
  4. MAILTO=root
  5. HOME=/

我們再看下java的路徑
  1. [root@RZ-PROD-DB-G10-02 log]# which java
  2. /usr/local/jdk/bin/java

上面兩個可以看出,因為java的路徑不在crontab的環境變數中

解決辦法:
  1. [root@RZ-PROD-DB-G10-03 kettle]# ln -s /usr/local/jdk/bin/java /usr/bin/java





來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29096438/viewspace-2144379/,如需轉載,請註明出處,否則將追究法律責任。

相關文章