在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