HAS_HOME=/opt/app/LogAnaDetail/
export HAS_HOME
PATH=/usr/java/jdk1.6.0_37/bin:$PATH
export PATH
DATE=$(date +%Y%m%d)
OUTFILE=$DATE"detail".out
LIB_DIR=$HAS_HOME/lib
CLASSPATH=$HAS_HOME/conf
CLASSPATH=$CLASSPATH:$HAS_HOME/classes
HAS_DEPEND_LIB_DIR=$HAS_HOME/lib
for F in ` find $LIB_DIR -name *.jar `
do
CLASSPATH=$CLASSPATH:$F
done
export CLASSPATH
nohup java -Xms512m -Xmx512m com.test.LogAnaDetail > $HAS_HOME/bin/$OUTFILE 2>&1 &
------------------------------------------------------------------------------------------------------------------------------------------------
nohup :将输出的日志打到当前路径下nohup.out下
java ...& : 关闭窗口断开连接后仍执行
2>&1 :将错误输出日志与标准输出合并,都打到标准输出的日志中
java -Xms512m -Xmx512m :最小执行内存与最大执行内存
nohup java ... > filename.txt 重定向nohup 日志到filename.txt 中
=======================================================================
例2:testtool.sh
----------------------------------------------------------------------------------------------------------------------
#set -x
CONFIG_FILE=$1
ROOT_DIR=/opt/app/TestTool
LIB_PATH=${ROOT_DIR}/lib
#APP=${ROOT_DIR}/app/tool-latest.jar
APP=${ROOT_DIR}/app/testtool1.jar
javaclasspath=""
get_javaclasspath() {
for f in `ls ${LIB_PATH}`
do
if [ "f" = "." -o "f" = ".." ]; then
continue;
fi
if [ -d "${LIB_PATH}/${f}" ]; then
get_javaclasspath "${LIB_PATH}/${f}"
else
javaclasspath=${javaclasspath}":"${LIB_PATH}/${f}
fi
done
}
get_javaclasspath ${LIB_PATH}
echo "$*"
cd $ROOT_DIR
java -Dfile.encoding=UTF-8 -cp $javaclasspath:${APP} com.test.exec.TestTool $*
----------------------------------------------------------------------------------------------------------------------
二、启动方法
例1 .在脚本(logAna.sh)所在目录,执行 :logAna.sh即可
例2. nohup bash **.sh &
三、知识点
1. 重定向输出
>file1.txt 与 >>file1.txt
> file1.txt : 如果文件存在,则清空文件,然后输出到此文件,不存在则新建文件
>>file1.txt: 如果文件存在,则再其后追加内容,不存在则新建文件
扩展:直接 >file1.txt ,'>'左边什么都没有,代表清空但是不删除日志