crontab 容易疏忽的地方

Table of Contents

crontab 容易疏忽的地方

今天写了监控脚本,在终端测试是ok,可惜在crontab设置了,却发现未能达到预期结果。
大概代码如下:
str=$(/opt/app/apache-storm-0.9.5/bin/storm list | grep ACTIVE | grep -v grep )
arr=(${str// / })
if [ "${arr[1]}" == "ACTIVE" ];then
    echo "`date +"%Y-%m-%d %H:%M:%S"` check storm list ok" >> $LOG
else
    echo "`date +"%Y-%m-%d %H:%M:%S"` check storm list 异常" >> $LOG
    ( cd /opt/app/apache-storm-0.9.5 && ./bin/storm jar /opt/app/test/test-analysis-0.0.1-SNAPSHOT.jar )

经过对应的咨询,原来是crontab有一个自己的PATH,使用的时候需要自己export
export PATH=$PATH:/opt/app/jdk1.7.0_51/bin

在此备注,防止下次遗漏。

Author: josephzeng (josephzeng36@gmail.com)

Last Updated 2016-01-05. Created by Emacs 24.5.1 (Org mode 8.2.10)

Validate