最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

shell腳本自動化創(chuàng)建虛擬機(jī)的基本配置之tomcat--mysql--jdk--maven

 更新時間:2020年05月20日 10:26:32   作者:NICEDAYSS  
這篇文章主要介紹了shell腳本自動化創(chuàng)建虛擬機(jī)的基本配置之tomcat--mysql--jdk--maven的相關(guān)知識,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

自動化shell腳本

ps:此處安裝的jdk,maven,tomcat均在/opt目錄下,如需其他目錄或者其他版本,可根據(jù)需要改動shell腳本即可。
ps:所有代碼全部手敲,已親測能夠使用,全部分享出來。

一:虛擬機(jī)初始化

創(chuàng)建shell腳本,把命令放進(jìn).sh腳本里,./xx.sh運(yùn)行此腳本可以完成虛擬機(jī)初始化

#!/bin/bash

#1.改變機(jī)器名
hostnamectl set-hostname $1

#2.打通ip地址
sed -i 's/dhcp/static/' /etc/sysconfig/network-scripts/ifcfgenp0s3
sed -i 's/ONBOOT=no/ONBOOT=yes/' /etc/sysconfig/network-scripts/ifcfgenp0s3
echo "IPADDR=$2" >> /etc/sysconfig/network-scripts/ifcfgenp0s3
systemctl restart network

#3.關(guān)閉防火墻
systemctl stop firewalld
systemctl disable firewalld

 二:jdk自動化安裝

創(chuàng)建shell腳本,把命令放進(jìn).sh腳本里,./xx.sh運(yùn)行此腳本可以完成jdk自動化安裝

#!/bin/bash
jdkTar="/opt/jdk-8u111-linux-x64.tar.gz"
# 檢查原先是否已安裝
checkExist(){
	jdkline1=$(grep -n "export JAVA_HOME=.*" /etc/profile | cut -f1 -d':')
  if [ -n "$jdkline1" ];then
    echo "存在JAVA_HOME路徑,將其刪除"
    sed -i "${jdkline1}d" /etc/profile
  fi
	jdkline2=$(grep -n "export CLASSPATH=.*\$JAVA_HOME.*" /etc/profile | cut -f1 -d':')
  if [ -n "$jdkline2" ];then
    echo "存在CLASSPATH路徑,將其刪除"
    sed -i "${jdkline2}d" /etc/profile
  fi
	jdkline3=$(grep -n "export PATH=.*\$JAVA_HOME.*" /etc/profile | cut -f1 -d':')
  if [ -n "$jdkline3" ];then
    echo "存在PATH-JAVA路徑,將其刪除"
    sed -i "${jdkline3}d" /etc/profile
  fi
}
# 查詢是否有jdk壓縮包
if [ -e $jdkTar ];then
	echo "--------存在jdk安裝包-------"
	echo "正在解壓jdk安裝包。。。"
	tar -zxvf /opt/jdk-8u111-linux-x64.tar.gz
	if [ -e "/opt/soft2" ];then
		echo "存在該文件夾,刪除。。"
		rm -rf /opt/soft2
	fi
	echo "---------------------------------"
	echo "---------------------------------"
	echo "正在建立jdk安裝路徑。。"
	echo "---------------------------------"
	echo "---------------------------------"
	mkdir -p /opt/soft2/jdk180
	mv -f jdk1.8.0_111 /opt/soft2/jdk180
	# 檢查配置信息
	checkExist	
	echo "---------------------------------"
	echo "---------------------------------"
	echo "正在配置jdk環(huán)境。。。"
	sed -i '$a export JAVA_HOME=/opt/soft2/jdk180/jdk1.8.0_111' /etc/profile
	sed -i '$a export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' /etc/profile
	sed -i '$a export PATH=$PATH:$JAVA_HOME/bin' /etc/profile
	echo "---------------------------------"
	echo "---------------------------------"
	echo "配置環(huán)境已完成。。。"
	echo 'this is the end'
	echo "---------------------------------"
 echo "---------------------------------"
 echo "配置版本信息如下:"
 source /etc/profile
 java -version
else
	echo "未檢測到安裝包,請將安裝包放到opt目錄下"
fi

 三:maven自動化安裝

創(chuàng)建shell腳本,把命令放進(jìn).sh腳本里,./xx.sh運(yùn)行此腳本可以完成maven自動化安裝

#!/bin/bash

mavenTar="/opt/apache-maven-3.6.1-bin.tar.gz"

mavenMirror=" <mirror>
  <id>alimaven</id>
  <mirrorOf>central</mirrorOf>
  <name>aliyun maven</name>
  <url>https://maven.aliyun.com/repository/central</url>
 </mirror>
 <mirror>
  <id>alimaven</id>
  <name>aliyun maven</name>
  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
  <mirrorOf>central</mirrorOf>
 </mirror>
"
mavenrespo="<localRepository>/opt/soft2/maven361/apache-maven-3.6.1/jarstore</localRepository>"

# 檢查原先是否已安裝
checkExist(){
	mavenline1=$(grep -n "export MAVEN_HOME=.*" /etc/profile | cut -f1 -d':')
  if [ -n "$mavenline1" ];then
    echo "存在MAVEN_HOME路徑,將其刪除"
    sed -i "${mavenline1}d" /etc/profile
  fi
	mavenline3=$(grep -n "export PATH=.*\$MAVEN_HOME.*" /etc/profile | cut -f1 -d':')
  if [ -n "$mavenline3" ];then
    echo "存在PATH-MAVEN路徑,將其刪除"
    sed -i "${mavenline3}d" /etc/profile
  fi
}


# 查詢是否有maven壓縮包
if [ -e $mavenTar ];then

	echo "--------存在maven安裝包-------"
	echo "正在解壓maven安裝包。。。"
	tar -zxvf /opt/apache-maven-3.6.1-bin.tar.gz
	if [ -e "/opt/soft2/maven361" ];then
		echo "存在該文件夾,刪除。。"
		rm -rf /opt/soft2/maven361
	fi
	echo "---------------------------------"
	echo "---------------------------------"
	echo "正在建立maven安裝路徑。。"
	echo "---------------------------------"
	echo "---------------------------------"
	mkdir -p /opt/soft2/maven361
	mv -f apache-maven-3.6.1 /opt/soft2/maven361
	# 檢查配置信息
	checkExist	
	echo "---------------------------------"
	echo "---------------------------------"
	echo "正在配置maven環(huán)境。。。"
	sed -i '$a export MAVEN_HOME=/opt/soft2/maven361/apache-maven-3.6.1' /etc/profile
	sed -i '$a export PATH=$PATH:$MAVEN_HOME/bin' /etc/profile
	echo "---------------------------------"
	echo "---------------------------------"
	echo "----正在配置maven鏡像源和mirror----"
	sed -i '/<\/mirror>/i ${mavenMirror}' /opt/soft2/maven361/apache-maven-3.6.1/conf/settings.xml
	sed -i '/<\/settings>/i ${mavenrespo}' /opt/soft2/maven361/apache-maven-3.6.1/conf/settings.xml
	echo "---------------------------------"
	echo "---------------------------------"
	echo "配置環(huán)境已完成。。。"
	echo 'this is the end'
	echo "---------------------------------"
 echo "---------------------------------"
 echo "配置版本信息如下:"
 source /etc/profile
 mvn -version
else
	echo "未檢測到安裝包,請將安裝包放到opt目錄下"

fi

 四:tomcat自動化安裝

創(chuàng)建shell腳本,把命令放進(jìn).sh腳本里,./xx.sh運(yùn)行此腳本可以完成tomcat自動化安裝

#!/bin/bash

tomcatTar="/opt/apache-tomcat-8.5.54.tar.gz"
 


# 查詢是否有tomcat壓縮包
if [ -e $tomcatTar ];then

	echo "--------存在tomcat安裝包-------"
	echo "正在解壓maven安裝包。。。"
	tar -zxvf /opt/apache-tomcat-8.5.54.tar.gz
	if [ -e "/opt/soft2/tomcat85" ];then
		echo "存在該文件夾,刪除。。"
		rm -rf /opt/soft2/tomcat85
	fi
	echo "---------------------------------"
	echo "---------------------------------"
	echo "正在建立tomcat安裝路徑。。"
	echo "---------------------------------"
	echo "---------------------------------"
	mkdir -p /opt/soft2/tomcat85
	mv -f apache-tomcat-8.5.54 /opt/soft2/tomcat85
	echo "---------------------------------"
	echo "---------------------------------"
	echo "配置tomcat環(huán)境已完成。。。"
	echo 'this is the end'
	echo "---------------------------------"
	echo "---------------------------------"

else
	echo "未檢測到安裝包,請將安裝包放到opt目錄下"
fi

五:mysql自動化安裝

創(chuàng)建shell腳本,把命令放進(jìn).sh腳本里,./xx.sh運(yùn)行此腳本可以完成mysql自動化安裝

#!/bin/bash
mysqlInstall=$(rpm -qa | grep mysql)
mysqlRepoInstall1=$(find /etc/yum.repos.d/ -name "mysql-community.repo" | sed 's#.*/##')
mysqlRepoInstall2=$(find /etc/yum.repos.d/ -name "mysql-community-source.repo" | sed 's#.*/##')
wgetInstall=$(rpm -qa | grep wget)
mariadbInstall=$(rpm -qa | grep mariadb)
# 檢查是否已安裝了mysql,未安裝再安裝
if [ ! -n "${mysqlInstall}" ];then
  # 檢查centOS是否自帶了mariadb,若有則刪除
  if [ -n "${mariadbInstall}" ];then
		echo "自帶mariadb---刪除mariadb中----"
    rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64
		echo "--------------------------------"
		echo "--------------------------------"
		echo "--------------------------------"
	else
		echo "centOS里沒有mariadb軟件"
		echo "-----------------------"
		echo "-----------------------"
  fi
	if [ -n "${wgetInstall}" ];then
		echo "-------存在wget下載工具-------"
		echo "------------------------------"
		echo "------------------------------"
	else		
		echo "-------安裝下載工具wget-------"
		echo "------------------------------"
		echo "------------------------------"
		yum install -y wget
	fi
		echo "-------在線下載5.7mysql并安裝-------"
		wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
		echo "-----------下載mysql成功-------------"
		echo "-------------------------------------"
		echo "-----------正在安裝mysql中----------"
		echo "-------------------------------------"
		rpm -ivh mysql-community-release-el7-5.noarch.rpm
		echo "-----正在檢測mysql安裝環(huán)境是否成功----"
else
	echo "-------------已安裝過mysql--------------"
fi
installmysqlServer(){
	if [ "${mysqlRepoInstall1}" = "mysql-community.repo" -a "${mysqlRepoInstall2}" = "mysql-community-source.repo" ];then
      echo "存在2個mysql安裝環(huán)境,下載安裝完成。。。"
      echo "----------------------------------------"
      echo "----------------------------------------"
			echo "-----------安裝mysql-server中-----------"
      echo "----------------------------------------"
      echo "----------------------------------------"
			if [ ! -e "/var/lib/mysql" ];then
				yum install -y mysql-server
			else
				echo "-----已安裝過mysql-server-----"
			fi
      echo "修改訪問權(quán)限為當(dāng)前用戶。。。"
      chown -R root:root /var/lib/mysql
      ls -l /var/lib
      echo "重啟mysql服務(wù)中"
      service mysqld restart
      echo "安裝完成---請登錄mysql修改密碼和字符集"
  else
      echo "${mysqlRepoInstall1}"
      echo "${mysqlRepoInstall2}"
      echo "----沒有安裝成功----"
	fi
}
installmysqlServer

總結(jié)

到此這篇關(guān)于shell腳本自動化創(chuàng)建虛擬機(jī)的基本配置--tomcat--mysql--jdk--maven的文章就介紹到這了,更多相關(guān)shell腳本自動化創(chuàng)建虛擬機(jī)的基本配置--tomcat--mysql--jdk--maven內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • linux find命令將查找到的文件批量刪除方法

    linux find命令將查找到的文件批量刪除方法

    這篇文章主要介紹了linux find命令將查找到的文件批量刪除,文中給大家補(bǔ)充介紹了Linux中find三種刪除方式,常用于crontab定時任務(wù)和shell腳本,需要的朋友可以參考下
    2022-12-12
  • shell腳本實(shí)現(xiàn)服務(wù)器進(jìn)程監(jiān)控的方法

    shell腳本實(shí)現(xiàn)服務(wù)器進(jìn)程監(jiān)控的方法

    這篇文章主要介紹了shell腳本實(shí)現(xiàn)服務(wù)器進(jìn)程監(jiān)控的方法,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2018-04-04
  • Linux用腳本實(shí)現(xiàn)“時分秒“倒計時功能

    Linux用腳本實(shí)現(xiàn)“時分秒“倒計時功能

    這篇文章主要介紹了Linux用腳本實(shí)現(xiàn)“時分秒“倒計時功能,本文圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12
  • 一些Hbase Shell的常用命令用法

    一些Hbase Shell的常用命令用法

    這篇文章主要介紹了一些Hbase的常用命令用法,文中說明了各個命令的用法,幫助小伙伴們更快熟悉運(yùn)用,需要的朋友可以參考下
    2023-03-03
  • 設(shè)置Linux系統(tǒng)的空閑等待時間TMOUT的方法

    設(shè)置Linux系統(tǒng)的空閑等待時間TMOUT的方法

    下面小編就為大家?guī)硪黄O(shè)置Linux系統(tǒng)的空閑等待時間TMOUT的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • shell腳本快速創(chuàng)建格式化磁盤與詳細(xì)操作步驟

    shell腳本快速創(chuàng)建格式化磁盤與詳細(xì)操作步驟

    這篇文章主要介紹了shell腳本快速創(chuàng)建格式化磁盤與詳細(xì)操作步驟,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Vim 編輯器操作匯總

    Vim 編輯器操作匯總

    本文是小編給大家收藏整理的關(guān)于vim編輯器操作方法,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2018-05-05
  • shell命令行參數(shù)用法簡介

    shell命令行參數(shù)用法簡介

    本文介紹了shell命令行參數(shù)的用法,對于普通腳本語言諸如perl python等,寫一個腳本程序,包裝命令行參數(shù)時,一般都是用getopt之類的;c語言也類似
    2014-04-04
  • CentOS下對shell腳本加密的二種方法

    CentOS下對shell腳本加密的二種方法

    這篇文章主要介紹了CentOS下對shell腳本加密的二種方法,本文介紹了gzexe、shc兩款加密工具,并分別講解了加密方法,需要的朋友可以參考下
    2014-12-12
  • Bash?Shell中單引號和雙引號的區(qū)別小結(jié)

    Bash?Shell中單引號和雙引號的區(qū)別小結(jié)

    在Bash中,單引號和雙引號都能定義字符串,但它們處理變量擴(kuò)展、特殊字符的方式不同,本文就來介紹一下Bash?Shell中單引號和雙引號的區(qū)別小結(jié),感興趣的可以了解一下
    2024-11-11

最新評論

宝兴县| 安岳县| 东台市| 岳阳市| 增城市| 当雄县| 中牟县| 太原市| 吉木萨尔县| 高阳县| 徐闻县| 高唐县| 栖霞市| 碌曲县| 佛山市| 新昌县| 陈巴尔虎旗| 乌鲁木齐县| 横峰县| 梁河县| 班戈县| 呼玛县| 丰县| 宁强县| 金山区| 黑山县| 荣昌县| 永春县| 盐池县| 西和县| 高雄县| 夹江县| 海阳市| 奎屯市| 河间市| 汤阴县| 临湘市| 汤阴县| 额尔古纳市| 禹城市| 含山县|