linux调取classes shell脚本

在important目录下新建lib目录,把所有jar拷贝进去
在important目录下放class目录及文件 [com.ardo.test.MainTest.class]
在important目录下新建job.sh文件
执行sh job.sh 508,则会自动生成log/operation/error.log文件
会把日志信息输出到error.log文件

MainTest.java

package com.ardo.test;

public class MainTest {
	
	public static void main(String[] args) {
		System.out.println("[main] Let's ready go...");
		if(args == null || args.length <= 0){
			System.out.println("error ------- 1");
			return;
		}
		try {
			String job = args[0];
			System.out.println("[main] the job param is: " + job);
			System.out.println("成功...");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

job.sh

#!/usr/bin/ksh
typeset JOB_ID=$1
typeset JAVA_OPTS="${JAVA_OPTS}"
typeset log_path=$HOME/ardo/important/log/operation/
typeset log_file=$HOME/ardo/important/log/operation/error.log
typeset MAIN_CLASSPATH="com.ardo.test.MainTest ${JOB_ID}"
typeset CLASSPS=$HOME/ardo/important
for i in `ls $HOME/ardo/important/lib/*.*`
do
CLASSPS=$CLASSPS:$i
done

mkdir -p $log_path

if [ "x${JOB_ID}" == "x" ]; then
        echo "[ERROR] [$(date '+%Y.%m.%d %H:%M:%S')] Start parameter error. [/ERROR]" | tee -a $log_file
        exit 1
fi

cd "${HOME}"/ardo/important
echo "$MAIN_CLASSPATH"
$JAVA_HOME/bin/java $JAVA_OPTS -DHOME=$HOME -DjobId=$JOB_ID -cp $HOME/ardo/important:$CLASSPS $MAIN_CLASSPATH >>$log_file
if [ $? -ne 0 ]; then
        echo "[ERROR] [$(date '+%Y.%m.%d %H:%M:%S')] execute Job failed. Please check runlog file. [/ERROR]" | tee -a $log_file
        exit 1
fi       
        
echo "Job execute Successed">>$log_file

error.log

[ERROR] [2018.10.11 11:02:53] Start parameter error. [/ERROR]

[main] Let's ready go...
[main] the job param is: 508
成功...
Job execute Successed

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值