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

参考技术A

这个脚本大致流程是这样的:

    脚本需要传入一个磁盘名称的参数赋值给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用的)的主要内容,如果未能解决你的问题,请参考以下文章

Javaweb题目,求大神解答指点

求大神写一个简单的VBS脚本,就是点击一下打开(SCROLL LOCK)按键 多谢

shell定时执行脚本启动jar程序的问题

linux上写了脚本,不能执行!求解答!

shell脚本怎么生成运行日志

linux shell脚本Tomcat自启动脚本