shell脚本,求大神详细解答一下这个脚本的功能(参数设置方式),谢谢! (Linux下测试VDBench用的)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本,求大神详细解答一下这个脚本的功能(参数设置方式),谢谢! (Linux下测试VDBench用的)相关的知识,希望对你有一定的参考价值。
#!/bin/bash
config()
echo -e "sd=sd1,lun=$dev,thread=32,openflags=o_direct,range=(1,100)" >wd.cfg
echo -e "wd=wd1,sd=sd1,seekpct=100,rdpct=0,xfersize=4k" >>wd.cfg
echo -e "rd=run1,wd=wd1,iorate=max,maxdata=1,elapsed=$runtime,interval=1" >>wd.cfg
dev=$1
runtime=36000
if [ "$#" != "1" ];then
echo "param error"
exit 1
fi
config
timemark=`date +%Y-%m-%d-%H-%M-%S`
./vdbench -f wd.cfg -o 4K_write_ran_$timemark
#[ $? -ne 0 ] && echo "$dev" >> Fail.txt
exit
这个脚本大致流程是这样的:
脚本需要传入一个磁盘名称的参数赋值给dev变量
通过函数config来生成配置文件wd.cfg, 这些配置文件的参数你可以去参考下vdbench命令
最终执行磁盘性能测试命令 ./vdbench -f wd.cfg 生成一个4K_write_ran_"当前时间" 的一个报告文件
想请大神写一个在linux环境下用shell脚本控制jar的启动和停止,类似于一个后台服务那种的。
本人刚刚接触这个,很多不懂,希望能详细指点一下,谢谢!!
得看你的程序是什么样子 一般脚本中主要需要定义好你的启动用户 java的环境变量 jar需要调用的类和库 然后用case语句 来通过判断脚本后面键入的值 如start stop等一类的内容 来执行或结束jar程序 参考技术A /etc/init.d 目录下都是这种脚本。照着那些启动关闭脚本自己改改吧。 参考技术B 需求不够具体,如果仅仅是java可以控制的启停,那就很简单的,做为后台服务也可以。70分还是很不错的,可以加我QQ 66046916 。我可以给你写完 你再把分给我哈~~ 参考技术C 一下是启动脚本#!/bin/sh
#-------------------------------------------------------------------------------------------------------------
#该脚本的使用方式为-->[sh startup.sh]
#该脚本可在服务器上的任意目录下执行,不会影响到日志的输出位置等
#-------------------------------------------------------------------------------------------------------------
#JAVA_HOME="/usr/java/jdk1.6.0_31"
JAVA_OPTS="-Duser.timezone=GMT+8 -server -Xms2048m -Xmx2048m -Xloggc:/app/code/CucPayTradePortalLog/gc.log"
APP_LOG=/app/code/CucPayTradePortalLog
APP_HOME=/app/code/CucPayTradePortal
APP_MAIN=com.cucpay.tradeportal.MainApp
CLASSPATH=$APP_HOME/classes
for tradePortalJar in "$APP_HOME"/lib/*.jar;
do
CLASSPATH="$CLASSPATH":"$tradePortalJar"
done
tradePortalPID=0
getTradeProtalPID()
javaps=`$JAVA_HOME/bin/jps -l | grep $APP_MAIN`
if [ -n "$javaps" ]; then
tradePortalPID=`echo $javaps | awk 'print $1'`
else
tradePortalPID=0
fi
startup()
getTradeProtalPID
echo "================================================================================================================"
if [ $tradePortalPID -ne 0 ]; then
echo "$APP_MAIN already started(PID=$tradePortalPID)"
echo "================================================================================================================"
else
echo -n "Starting $APP_MAIN"
nohup $JAVA_HOME/bin/java $JAVA_OPTS -classpath $CLASSPATH $APP_MAIN > $APP_LOG/nohup.log &
getTradeProtalPID
if [ $tradePortalPID -ne 0 ]; then
echo "(PID=$tradePortalPID)...[Success]"
echo "================================================================================================================"
else
echo "[Failed]"
echo "================================================================================================================"
fi
fi
startup 参考技术D
希望对你有用~~~
祝你好运~~~
望采纳~~~
以上是关于shell脚本,求大神详细解答一下这个脚本的功能(参数设置方式),谢谢! (Linux下测试VDBench用的)的主要内容,如果未能解决你的问题,请参考以下文章