`
雨过天晴0521
  • 浏览: 155568 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

自动化安装和启动DS脚本

 
阅读更多
#!/bin/sh

#fabric broker path
FABRIC_HOME=/opt/qa/fabric/4.0
INSTALL_DIR=$FABRIC_HOME/datasynapse
GRIDLIB_DIR=$INSTALL_DIR/webapps/livecluster/deploy/resources/gridlib/

#fabric engine path
Engine_HOME=/opt/qa/engine
ENGINE_DIR=$Engine_HOME/stress0

TASK=$1

#fabric build info
BUILD_VERSION=4.1
SUB_VERSION=$2
FULL_VERSION=$BUILD_VERSION.$SUB_VERSION
BUILD_DIR=/u2/Releases/internal/Fabric_Builds/
TARGET_DIR=$BUILD_DIR$BUILD_VERSION/$FULL_VERSION
DISTRI_DIR=/u2/testing/currentversion/fabric/trunk/distributions/

#fabric WS env
FABRIC_TRUNK=/u2/testing/currentversion/fabric/trunk
FABRICSDK_HOME=$FABRIC_TRUNK/FabricServerSDK
TESTHARNESS2_DIR=$FABRIC_TRUNK/compiled_code/testharness-2

installBroker(){

if [ -d $INSTALL_DIR ];then
	echo "... $INSTALL_DIR is existing!"
	cd $INSTALL_DIR
	echo "... server is stopping ..."
	./server.sh stop > ../installBroker.log
	echo "... server stopped!"
	cd ..
	rm -rf datasynapse/
	echo "... $INSTALL_DIR removed!"
fi

if [ ! -d $FABRIC_HOME ];then
	echo "... $FABRIC_HOME is not existing!"
	mkdir $FABRIC_HOME
	echo "... $FABRIC_HOME created!"
	cd $FABRIC_HOME
fi

gunzip -c $TARGET_DIR/TIB_Silver_Fabric.$BUILD_VERSION.0.tar.gz > $FABRIC_HOME/TIB_Silver_Fabric.$BUILD_VERSION.0.tar
tar -xvf $FABRIC_HOME/TIB_Silver_Fabric.$BUILD_VERSION.0.tar  >> installBroker.log
echo "... TIB_Silver_Fabric.$BUILD_VERSION.0.tar.gz unzipped!"
rm -rf $FABRIC_HOME/TIB_Silver_Fabric.$BUILD_VERSION.0.tar
unzip -o $TARGET_DIR/TIB_Silver_Fabric.$BUILD_VERSION.0_3rd-Party-Libs.zip -d $INSTALL_DIR >> ../installBroker.log
echo "... TIB_Silver_Fabric.$BUILD_VERSION.0_3rd-Party-Libs.zip unzipped!"
cd $INSTALL_DIR
echo "... server is starting ..."
./server.sh start 
}

installEngine(){

if [ -z $BROKER_HOST ]
then
	echo "engine host not set yet"
	exit 1
fi

if [ -z $ENGINE_TYPE ]
then
	echo "engine type not set yet"
	echo "(SolarisX86|Linux64|Linux|Solaris|Aix)"
	exit 1
fi

ENGINE_URL=http://$BROKER_HOST:8080/livecluster/public_html/register/install/unixengine/DSEngine$ENGINE_TYPE.tar.gz

if [ -d $ENGINE_DIR/DSEngine ];then
	echo "... $ENGINE_DIR/DSEngine is existing!"
	cd $ENGINE_DIR/DSEngine
	./engine.sh stop > ../installEngine.log
	cd ..
	rm -rf DSEng*
	echo "$ENGINE_DIR/DSEngine removed!"
else
	mkdir $ENGINE_DIR
	echo "$ENGINE_DIR created!"
	cd $ENGINE_DIR
fi

wget $ENGINE_URL -o installEngine.log
echo "... DSEngine$ENGINE_TYPE.tar.gz downloaded!"
gzip -d DSEngine$ENGINE_TYPE.tar.gz
tar -xvf DSEngine$ENGINE_TYPE.tar >> installEngine.log
echo "... DSEngine$ENGINE_TYPE.tar.gz unzipped!"

cd DSEngine

./configure.sh -s $BROKER_HOST:8000 >> ../installEngine.log
echo "... new engine configured!"
echo "... new engine starting!"
./engine.sh start

}

deployContainers(){
	
for i in tomcat jboss weblogic websphere iis
do
	if [ $CONTAINER = all ]; then
		source=$TARGET_DIR/$i*.zip
		source=$source" "
		cp $source $GRIDLIB_DIR 
	elif [ $CONTAINER = $i ]; then
		cp $TARGET_DIR/$i*.zip $GRIDLIB_DIR
	else 
		continue
	fi	
done

}

deployDistributions(){

for i in tomcat jboss weblogic websphere iis
do
	if [ $CONTAINER = all ]; then
		source=$DISTRI_DIR/$i*.zip
		source=$source" "
		cp $source $GRIDLIB_DIR
	elif [ $CONTAINER = $i ]; then
		cp $DISTRI_DIR/$i*.zip $GRIDLIB_DIR
	else 
		continue
	fi	
done
}

deployContainerDistribution(){

if [ -z $CONTAINER_VERSION ]; then
	echo -e "container version not set yet\nSample: deployCD 0.5 jboss -eap4_3_0,4_2_1"
	exit 1
fi
		
for v in `echo $CONTAINER_VERSION| sed 's/,/ /g'`
do
	if [ $CONTAINER = websphere ]; then
		PLATFORM=`echo ${v##*-}`
		VERSION=`echo ${v%%-*}`
		cp $DISTRI_DIR/ibm-j2sdk-$PLATFORM-*.zip $GRIDLIB_DIR
		cp $TARGET_DIR/$CONTAINER$VERSION-container-gridlib.zip $GRIDLIB_DIR
		cp $DISTRI_DIR/$CONTAINER$v-distribution-gridlib.zip $GRIDLIB_DIR
	elif [ $CONTAINER = webspheredm ]; then
		PLATFORM=`echo ${v##*-}`
		VERSION=`echo ${v%%-*}`
		cp $DISTRI_DIR/ibm-j2sdk-$PLATFORM-*.zip $GRIDLIB_DIR
		cp $TARGET_DIR/$CONTAINER$VERSION-container-gridlib.zip $GRIDLIB_DIR
		_CONTAINER=`echo ${CONTAINER%%dm*}`
		cp $DISTRI_DIR/$_CONTAINER$v-distribution-gridlib.zip $GRIDLIB_DIR
	else
		cp $TARGET_DIR/$CONTAINER$v-container-gridlib.zip $GRIDLIB_DIR
		cp $DISTRI_DIR$CONTAINER$v-distribution-gridlib.zip $GRIDLIB_DIR
	fi
done
}

setupWsEnv(){
	export CLASSPATH=$TESTHARNESS2_DIR/fabric/classes/fabrictestharness_client.jar:$TESTHARNESS2_DIR/fabric/classes/fabrictestharness_server.jar:$TESTHARNESS2_DIR/util/lib/httpunit.jar:$TESTHARNESS2_DIR/fabric/util/parameters:$TESTHARNESS2_DIR/util/lib/jaxrpc.jar:$TESTHARNESS2_DIR/util/lib/axis.jar:$TESTHARNESS2_DIR/util/lib/commons-logging-1.0.4.jar:$TESTHARNESS2_DIR/util/lib/commons-discovery-0.2.jar:$TESTHARNESS2_DIR/util/lib/wsdl4j-1.5.1.jar:$TESTHARNESS2_DIR/util/lib/commons-httpclient-3.0.jar:$TESTHARNESS2_DIR/util/lib/commons-codec-1.3.jar
	echo $CLASSPATH 

}

checkSubVersion(){
	if [ -z $SUB_VERSION ]
	then
		echo "sub version number not set yet"
	exit
	fi
}

checkContainerName(){
	if [ -z $CONTAINER ]
	then
		echo -e "container not set yet\ncontainer list:\ntomcat jboss weblogic websphere"
		exit 1
	fi	
}

restartServer(){
	cd "$INSTALL_DIR"
	./server.sh stop >> ../installBroker.log
	echo "... server stopped!"
	./server.sh start >> ../installBroker.log
	echo "... server started!"
	cd "$FABRIC_HOME"
}

listGlidlib(){
	echo -e "$TESTHARNESS2_DIR/fabric/server/glz/$FOLDER"
	ls -C "$TESTHARNESS2_DIR/fabric/server/glz/$FOLDER" 
}

listDistribution(){
	echo -e "$DISTRI_DIR"
	ls -C "$DISTRI_DIR" 
}

listFSGridLibDir(){
	echo -e "$GRIDLIB_DIR"
	ls -C "$GRIDLIB_DIR" 
}

copyGridlib(){
	cp -f "$TESTHARNESS2_DIR/fabric/server/glz/$FOLDER/$GRIDLIB" "$GRIDLIB_DIR"
	echo -e "copied \n$TESTHARNESS2_DIR/fabric/server/glz/$FOLDER/$GRIDLIB\n to"
	find "$GRIDLIB_DIR" -name "$GRIDLIB"
}

usage(){
	echo -e "usage:\n"
	echo "setupBroker|setupB"
	echo -e "Sample: setupB 0.6\n"
	echo "setupEngine|setupE"
	echo -e "Sample: setupE qalx03 SolarisX86\n"
	echo "deployContainer|deployC"
	echo -e "Sample: deployC tomcat\n"
	echo "deployDistribution|deployD"
	echo -e "Sample: deployD websphere\n"
	echo "deployContainerDistribution|deployCD"
	echo "Sample: deployCD 0.6 jboss 4_2_1,-eap4_3_0,-eap5_0_0"
	echo "        deployCD 0.6 websphere 7_0-linux,7_0-linux64"
	echo -e "        deployCD 0.6 weblogic 10_0,8_1_sp4\n"
	echo "setupWS"
	echo -e "Sample: . ./installFS.sh setupWS\n"
	echo -e "restartBroker|restartB\n"
	echo "listGridlibs|lsglz"
	echo -e "Sample: lsglz no-deploy\n"
	echo "copyGridlibs|cpgl"
	echo -e "Sample: cpgl deploy jbosswebappgenericservicedomain-gridlib.zip\n"
	echo -e "listDistribution|lsD\n"
	echo -e "listFSGridlib|lsfsglz\n"
}

if [ -z $TASK ]
then
	echo "Task not set yet"
	exit
fi

case "$TASK" in 
	setupBroker | setupB)
		SUB_VERSION=$2
		checkSubVersion
		installBroker $SUB_VERSION;;
	setupEngine | setupE)
		BROKER_HOST=$2
		ENGINE_TYPE=$3
		echo "host $BROKER_HOST enginetype $ENGINE_TYPE"
		installEngine $BROKER_HOST $ENGINE_TYPE;;
	deployContainer | deployC)
		checkSubVersion
		CONTAINER=$3
		checkContainerName
		deployContainers $CONTAINER;;
	deployDistribution | deployD)
		checkSubVersion
		CONTAINER=$3
		checkContainerName
		deployDistributions $CONTAINER;;
	deployContainerDistribution | deployCD)
		checkSubVersion
		CONTAINER=$3
		checkContainerName
		CONTAINER_VERSION=$4
		deployContainerDistribution $CONTAINER $CONTAINER_VERSION;;
	setupWS)
                setupWsEnv;;
	restartBroker | restartB)
		restartServer;;
	listGridlibs | lsglz)
		FOLDER=$2
		listGlidlib $FOLDER;;
	copyGridlibs | cpgl)
		FOLDER=$2
		GRIDLIB=$3
		copyGridlib $FOLDER $GRIDLIB;;
	listDistribution | lsD)
		listDistribution;;
	listFSGridlib | lsfsglz)
		listFSGridLibDir;;
	*)
		usage;;

esac
分享到:
评论

相关推荐

    autocad命令全集

    启动该命令以安装AutoCAD快捷工具 103 EXTEND EX 延长实体 104 EXETRUDE EXT 将二维图形拉伸成三维实体 105 FILL F 控制实体的填充状态 106 FILLET   倒圆角 107 FILTER FI 过滤选择实体 108 FIND   查找与替换...

    网管教程 从入门到精通软件篇.txt

     bootcfg 命令启动配置和故障恢复(对于大多数计算机,即 boot.ini 文件)。  含有下列参数的 bootcfg 命令仅在使用故障恢复控制台时才可用。可在命令提示符下使用带有不同参数的 bootcfg 命令。  用法:  ...

    基于hhww改进版的传统五笔输入法(新版支持WIN7)

    自行复制 ime 和 mb 文件到系统目录中,然后使用 imetool 的安装输入法功能指定输入法名称和 ime 文件即可。 IME TOOL 可以从注册表中删除不需要的输入法,但并不删除文件。 七、其它功能 打开输入法属性、打开关闭...

    基于hhww改进版的传统五笔输入法

    7392B890 0FB605 BC1E9273 movzx eax,byte ptr ds:[73921EBC] 7392B897 48 dec eax 7392B898 76 25 jbe short winwb86.7392B8BF 7392B89A C70424 0000FF00 mov dword ptr ss:[esp],0FF0000 //gbk之蓝色 7392B8A1 48 ...

    计算机系统计算机基础(1).pptx

    表格处理软件 Excel Cell 系统软件是控制计算机系统并协调管理软硬件资源的程序,其主要功能包括:启动计算机,存储、加载和执行应用程序,对文件进行排序、检索,将程序语言翻译成机器语言等。 计算机硬件的组成 ...

    精易模块[源码] V5.15

    5、修正“类_APIHOOK->取地址”当安装时不填后缀,而取地址填写后无法获取已安装地址BUG,感谢易友【@ChongZi】反馈。 6、修正“窗口_枚举所有子窗口”当过滤类名输入空符号或一段空文本后无法枚举的BUG,感谢易友...

    Jhead (Exif 信息批量命令行编辑工具,win命令行,含源代码)一个直接用命令查看修改删除图片属性Exif信息的文件

    运行时会自动打开文本编辑器,录完信息,保存并关闭后,信息会自动被写入备注 -cs导出备注到文本文件。如:jhead-cs1txt1jpg -ci从文体文件导入备注。如:jhead-ci1txt1jpg -clstring直接输入备注。如:jhead–cl...

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    4.DOM则为脚本和对象的交流提供一个公共平台,并将结果显示在浏览器窗口。 如果任何一个部分发生错误,都不会得到正确结果。 好了,看到这里,我们已经对XML是如何工作的有一个整体的大致的概念。通过这一章的...

    rar压缩软件.rar

    多个文件有相同的名称时自动重命名解压的文件。 f 更新压缩文件中的文件。 更新打包到压缩文件后被改变的文件。这个命令不 向压缩文件中添加新文件。 i[i|c|h|t]=<字符串> 在压缩文件中查找字符串。 支持...

Global site tag (gtag.js) - Google Analytics