linux上安装jdk和jmeter的脚本

news/2024/7/5 4:08:15

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

前几天应工作的要求,搞起了jmeter压力测试,因为暂时没有多余的linux机器,所以下面的所有操作都是在我本地安装的虚拟机上完成的,不过,并无区别。

主要实现的操作有:

  • 在linux上安装jdk并设置环境变量
  • 在linux上安装jmeter并设置环境变量

废话也不想多说了,直接贴脚本吧。

#! /bin/bash
cd `dirname $0`
BASE_PATH=`pwd`
configfile=$BASE_PATH/config.ini
source $configfile
install_files=/usr/etc/installFile

# install JDK
java -version 2>&1 > /dev/null
if [ $? -ne 0 ];then
	if [ ! -d $JDK_Install_Path ];then
		mkdir $JDK_Install_Path
	fi
	cp $install_files/jdk*.gz $JDK_Install_Path
	cd $JDK_Install_Path
	aaa=`pwd`
	echo "In $aaa"
	jdk_name=`ls -l $JDK_Install_Path | awk '/^-/ {print $NF}'`
	echo "JDK name : $jdk_name"
	tar -zxf $jdk_name
	if [ $? -eq 0 ];then
		javadir=`ls -l $JDK_Install_Path | awk '/^d/ {print $NF}'`
		echo "JDK dir : $javadir"
		jdk_home="$JDK_Install_Path/$javadir"
		echo "" >> /etc/profile
		echo "JAVA_HOME=$jdk_home" >> /etc/profile
		echo 'PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile
		echo 'CLASSPATH=.:$JAVA_HOME/lib/tools.jar' >> /etc/profile
		echo 'export JAVA_HOME PATH CLASSPATH' >> /etc/profile
		source /etc/profile
		sleep 1
		java -version 2>&1 > /dev/null
		if [ $? -eq 0 ];then
			echo "JDK install completed!"
		else
			echo "JDK path error!"
			echo "Please manual installation, will exit from $ip."
		fi
		rm -f $JDK_Install_Path/jdk*.gz
	else
		echo "JDK install error."
	fi
else
	echo "JDK has been installed."
fi
		
# install Jmeter
jmeter -v 2>&1 > /dev/null
if [ $? -ne 0 ];then
	if [ ! -d $Jmeter_Install_Path ];then
		mkdir $Jmeter_Install_Path
	fi
	cp $install_files/apache-jmeter*.gz $Jmeter_Install_Path
	cd $Jmeter_Install_Path
	bbb=`pwd`
	echo "In $bbb"
	jmeter_name=`ls -l $Jmeter_Install_Path | awk '/^-/ {print $NF}'`
	echo "Jmeter name : $jmeter_name"
	tar -zxf $jmeter_name
	if [ $? -eq 0 ];then
		jmeterdir=`ls -l $Jmeter_Install_Path | awk '/^d/ {print $NF}'`
		echo "Jmeter dir : $jmeterdir"
		jmeter_path=$Jmeter_Install_Path/$jmeterdir
		echo "" >> /etc/profile
		echo "JMETER_HOME=$jmeter_path" >> /etc/profile
		echo 'CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$JMETER_HOME/lib/logkit-2.0.jar:$CLASSPATH' >> /etc/profile
		echo 'PATH=$JMETER_HOME/bin/:$PATH' >> /etc/profile
		echo 'export JMETER_HOME CLASSPATH PATH' >> /etc/profile
		source /etc/profile
		sleep 1
		jmeter -v 2>&1 > /dev/null
		if [ $? -eq 0 ];then
			echo "Jmeter install completed!"
			echo "JDK and Jmeter install completed."
		else
			echo "Jmeter path error!"
			echo "Please manual installation, will exit from $ip."
		fi
		rm -f $Jmeter_Install_Path/apache-jmeter*.gz
	else
		echo "Jmeter install error."
	fi
else
	echo "Jmeter has been installed."
fi
cd /		
rm -fr /usr/etc/installFile
rm -fr /usr/SETUP
if [ -f /usr/jmeter.log ];then
	rm -f /usr/jmeter.log
fi
if [ -f /usr/jmeter/jmeter.log ];then
	rm -f /usr/jmeter/jmeter.log
fi

以上就是安装的脚本。

最近有点儿懒懒的,多多包涵。

转载请标明出处,喜欢或者有用的话,就给我点个赞吧!

转载于:https://my.oschina.net/u/3041656/blog/906717


http://www.niftyadmin.cn/n/4136296.html

相关文章

ppt图片丢失_如何制作一个人物介绍ppt?

作为一名专业的PPT设计师!分享点纯干货!人物排版一定离不开3种类型,逃不出11种PPT版式!直接套用做出高大上的人物介绍!文末有福利。在很多类型的 PPT 中,比如像企业介绍、融资路演,产品宣讲等&a…

【Cocos2d-x 粒子系统】火球用手指飞起来

程序: 创建球 sp1 CCSprite::create("ball.png");sp1->setPosition(ccp(10, visibleSize.height/2));this->addChild(sp1);setTouchEnabled(true);让球飞起来吧,创建个简单粒子,点哪飞到哪 void HelloWorld::ccTouchEnded(C…

c++中class 中的this指针

1.this指针的经典描述: 当你进入一个房子后,    你可以看见桌子、椅子、地板等,    但是房子你是看不到全貌了。    对于一个类的实例来说,    你可以看到它的成员函数、成员变量,    但是实例本身呢&#…

HDU 3177 Crixalis#39;s Equipment(贪婪)

主题链接:http://acm.hdu.edu.cn/showproblem.php?pid3177 Problem DescriptionCrixalis - Sand King used to be a giant scorpion(蝎子) in the deserts of Kalimdor. Though hes a guardian of Lich King now, he keeps the living habit of a scorpion like li…

怎样用python打开文件_你真的会用python进行文件操作吗

本篇文章主要比较系统的介绍了python中文件操作,以及在在使用中需要注意的问题。 什么是文件 文件是系统存储区域的一个命名位置,用来存储一些信息,便于后续访问。能够在非易失性存储器中实现持续性存储,比如在硬盘上。当我们要读…

2017年全球创新公司琅琊榜及10条成功启示录

导读:每年年初,FastCompany都会公布他们评出的最有创新力的10个公司榜单,今年是这个榜单公布的第十年。 今年的榜单上,除了谷歌、亚马逊等大公司,也不乏一些从小的方向切入市场的公司让人印象深刻。此外,中…

总结c++类的构造函数 拷贝构造函数 析构函数 赋值运算符重载的特点以及函数调用顺序

对 c类的构造函数 拷贝构造函数 析构函数 赋值运算符重载 相关知识的总结,并附上例子,希望对大家有帮助,有错误大家可以指出来 一 构造函数 1 构造函数: 构造函数时一个特殊的成员函数,用来初始化对象的数据成员&am…

2.1 线性表的逻辑结构与存储结构

在之前的数据结构知识铺垫2:物理结构与逻辑结构一文中, 我们介绍了物理结构与逻辑结构, 物理结构即存储结构. 本篇文章我们着重探讨一下线性表的逻辑结构与存储结构. 1. 线性表的逻辑结构 图1. 线性表的逻辑结构 线性表是具有相同特性的数据元素的有限序列, 每个元…