1.参数说明
参数 | 说明 |
---|
-n “$1” | 如果参数的第一个参数长度为0.结果返回true,否则返回false |
-z “$1” | 如果参数的第一个参数长度为0.结果返回false,否则返回true |
[ $? -eq 0 ] | 是判断if语句的上一个命令执行如果成功就执行if中的语句,注意:使用时要注意,if后面的中括号[ $? -eq 0 ],括号的两边需要有一个空格 |
>/dev/null | 将标准输出到了 /dev/null |
2>&1 | 表示标准错误,重定向到标准输入 |
>> 1.log | 将标准输出,追加到gmvHisDataProcess_$(date +%Y%m).log中 |
#!/bin/bash
#set java env
export JAVA_HOME=/opt/jdk/jdk1.8.0_111
export PATH=${JAVA_HOME}/bin:$PATH
export CLASSPATH=.:${JAVA_HOME}/lib.tools.jar
# 定义作业目录变量,日志目录变量,作业开始天和结束天
JOB_HOME=/opt/kettle/repository/gmv
LOG_PATH=/opt/kettle/log
if [ -n "$1" ] && [ -n "$2" ]
then
startDate=$1
finishDate=$2
elif [ -z "$1" ] && [ -z "$2" ]
then
startDate=`date -d'1 day ago' +'%Y-%m-%d'`
finishDate=`date -d'1 day ago' +'%Y-%m-%d'`
else
exit
fi
#重刷历史订单退款数据 (即重刷base_order_goods和base_order_refund)
nohup /opt/kettle/data-integration/kitchen.sh -file=${JOB_HOME}/his/main.kjb -param:startDate="${startDate}" -param:finishDate="${finishDate}" -param:JOB_HOME="${JOB_HOME}" -level=Error >> ${LOG_PATH}/gmvHisData_$(date +%Y%m).log
#重刷历史gmv数据 (即重刷base_daily_sales_report和base_gmv_trend)
if [ $? -eq 0 ]
then
echo "===结束时间:$(date '+%Y-%m-%d %H:%M:%S')===" >> ${LOG_PATH}/gmvHisData_$(date +%Y%m).log
java -jar ${JOB_HOME}/jar/gmvHisDataProcess.jar "${startDate}" "${finishDate}" >> ${LOG_PATH}/gmvHisDataProcess_$(date +%Y%m).log 2>&1 && echo "===结束时间:$(date '+%Y-%m-%d %H:%M:%S')===" >> ${LOG_PATH}/gmvHisDataProcess_$(date +%Y%m).log
fi