shell脚本配置引用环境变量

    最近配置脚本定时用ks3服务存储日志文件,ks3执行须要配置java变量,直接shell执行都没有问题,可是配置crontab,则不能正常执行。定时任务报错日志以下:java

Subject: Cron <root@vm192-168-5-15> sh /vnum/monitorshell/synLogToKs3.sh
Content-Type: text/plain; charset=UTF-8
Auto-Submitted: auto-generated
Precedence: bulk
X-Cron-Env: <XDG_SESSION_ID=39003>
X-Cron-Env: <XDG_RUNTIME_DIR=/run/user/0>
X-Cron-Env: <LANG=en_US.UTF-8>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>
Message-Id: <20190302192001.C10CA615A4@vm192-168-5-15.ksc.com>
Date: Sun,  3 Mar 2019 03:20:01 +0800 (CST)shell

which: no java in (/usr/bin:/bin)
Error: JAVA_HOME is not defined correctly.
  We cannot execute bash

From root@vm192-168-5-15.ksc.com  Sun Mar  3 03:20:07 2019
Return-Path: <root@vm192-168-5-15.ksc.com>测试

       原来是在定时任务中执行,脚本没法引用到java环境。查看查看环境变量:echo $PATH日志

[root@vm192-168-5-15 monitorshell]# echo $PATH
/usr/lib64/qt-3.3/bin:/var/local/jdk1.8.0_172/bin:/var/local/jdk1.8.0_172/jre/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin
[root@vm192-168-5-15 monitorshell]#

        在脚本/vnum/monitorshell/synLogToKs3.sh  起始配置引用环境变量:code

export PATH=$PATH:/var/local/jdk1.8.0_172/bin:/var/local/jdk1.8.0_172/jre/bin

    测试定时执行,问题解决。crontab

相关文章
相关标签/搜索