shell腳本自動化創(chuàng)建虛擬機的基本配置之tomcat--mysql--jdk--maven
自動化shell腳本
ps:此處安裝的jdk,maven,tomcat均在/opt目錄下,如需其他目錄或者其他版本,可根據(jù)需要改動shell腳本即可。ps:所有代碼全部手敲,已親測能夠使用,全部分享出來。
一:虛擬機初始化
創(chuàng)建shell腳本,把命令放進(jìn).sh腳本里,./xx.sh運行此腳本可以完成虛擬機初始化
#!/bin/bash#1.改變機器名hostnamectl set-hostname $1#2.打通ip地址sed -i ’s/dhcp/static/’ /etc/sysconfig/network-scripts/ifcfgenp0s3sed -i ’s/ONBOOT=no/ONBOOT=yes/’ /etc/sysconfig/network-scripts/ifcfgenp0s3echo 'IPADDR=$2' >> /etc/sysconfig/network-scripts/ifcfgenp0s3systemctl restart network#3.關(guān)閉防火墻systemctl stop firewalldsystemctl disable firewalld
二:jdk自動化安裝
創(chuàng)建shell腳本,把命令放進(jìn).sh腳本里,./xx.sh運行此腳本可以完成jdk自動化安裝
#!/bin/bashjdkTar='/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 fijdkline2=$(grep -n 'export CLASSPATH=.*$JAVA_HOME.*' /etc/profile | cut -f1 -d’:’) if [ -n '$jdkline2' ];then echo '存在CLASSPATH路徑,將其刪除' sed -i '${jdkline2}d' /etc/profile fijdkline3=$(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 ];thenecho '--------存在jdk安裝包-------'echo '正在解壓jdk安裝包。。。'tar -zxvf /opt/jdk-8u111-linux-x64.tar.gzif [ -e '/opt/soft2' ];thenecho '存在該文件夾,刪除。。'rm -rf /opt/soft2fiecho '---------------------------------'echo '---------------------------------'echo '正在建立jdk安裝路徑。。'echo '---------------------------------'echo '---------------------------------'mkdir -p /opt/soft2/jdk180mv -f jdk1.8.0_111 /opt/soft2/jdk180# 檢查配置信息checkExistecho '---------------------------------'echo '---------------------------------'echo '正在配置jdk環(huán)境。。。'sed -i ’$a export JAVA_HOME=/opt/soft2/jdk180/jdk1.8.0_111’ /etc/profilesed -i ’$a export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar’ /etc/profilesed -i ’$a export PATH=$PATH:$JAVA_HOME/bin’ /etc/profileecho '---------------------------------'echo '---------------------------------'echo '配置環(huán)境已完成。。。'echo ’this is the end’echo '---------------------------------' echo '---------------------------------' echo '配置版本信息如下:' source /etc/profile java -versionelseecho '未檢測到安裝包,請將安裝包放到opt目錄下'fi
三:maven自動化安裝
創(chuàng)建shell腳本,把命令放進(jìn).sh腳本里,./xx.sh運行此腳本可以完成maven自動化安裝
#!/bin/bashmavenTar='/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 fimavenline3=$(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 ];thenecho '--------存在maven安裝包-------'echo '正在解壓maven安裝包。。。'tar -zxvf /opt/apache-maven-3.6.1-bin.tar.gzif [ -e '/opt/soft2/maven361' ];thenecho '存在該文件夾,刪除。。'rm -rf /opt/soft2/maven361fiecho '---------------------------------'echo '---------------------------------'echo '正在建立maven安裝路徑。。'echo '---------------------------------'echo '---------------------------------'mkdir -p /opt/soft2/maven361mv -f apache-maven-3.6.1 /opt/soft2/maven361# 檢查配置信息checkExistecho '---------------------------------'echo '---------------------------------'echo '正在配置maven環(huán)境。。。'sed -i ’$a export MAVEN_HOME=/opt/soft2/maven361/apache-maven-3.6.1’ /etc/profilesed -i ’$a export PATH=$PATH:$MAVEN_HOME/bin’ /etc/profileecho '---------------------------------'echo '---------------------------------'echo '----正在配置maven鏡像源和mirror----'sed -i ’/</mirror>/i ${mavenMirror}’ /opt/soft2/maven361/apache-maven-3.6.1/conf/settings.xmlsed -i ’/</settings>/i ${mavenrespo}’ /opt/soft2/maven361/apache-maven-3.6.1/conf/settings.xmlecho '---------------------------------'echo '---------------------------------'echo '配置環(huán)境已完成。。。'echo ’this is the end’echo '---------------------------------' echo '---------------------------------' echo '配置版本信息如下:' source /etc/profile mvn -versionelseecho '未檢測到安裝包,請將安裝包放到opt目錄下'fi
四:tomcat自動化安裝
創(chuàng)建shell腳本,把命令放進(jìn).sh腳本里,./xx.sh運行此腳本可以完成tomcat自動化安裝
#!/bin/bashtomcatTar='/opt/apache-tomcat-8.5.54.tar.gz' # 查詢是否有tomcat壓縮包if [ -e $tomcatTar ];thenecho '--------存在tomcat安裝包-------'echo '正在解壓maven安裝包。。。'tar -zxvf /opt/apache-tomcat-8.5.54.tar.gzif [ -e '/opt/soft2/tomcat85' ];thenecho '存在該文件夾,刪除。。'rm -rf /opt/soft2/tomcat85fiecho '---------------------------------'echo '---------------------------------'echo '正在建立tomcat安裝路徑。。'echo '---------------------------------'echo '---------------------------------'mkdir -p /opt/soft2/tomcat85mv -f apache-tomcat-8.5.54 /opt/soft2/tomcat85echo '---------------------------------'echo '---------------------------------'echo '配置tomcat環(huán)境已完成。。。'echo ’this is the end’echo '---------------------------------'echo '---------------------------------'elseecho '未檢測到安裝包,請將安裝包放到opt目錄下'fi
五:mysql自動化安裝
創(chuàng)建shell腳本,把命令放進(jìn).sh腳本里,./xx.sh運行此腳本可以完成mysql自動化安裝
#!/bin/bashmysqlInstall=$(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}' ];thenecho '自帶mariadb---刪除mariadb中----' rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64echo '--------------------------------'echo '--------------------------------'echo '--------------------------------'elseecho 'centOS里沒有mariadb軟件'echo '-----------------------'echo '-----------------------' fiif [ -n '${wgetInstall}' ];thenecho '-------存在wget下載工具-------'echo '------------------------------'echo '------------------------------'elseecho '-------安裝下載工具wget-------'echo '------------------------------'echo '------------------------------'yum install -y wgetfiecho '-------在線下載5.7mysql并安裝-------'wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpmecho '-----------下載mysql成功-------------'echo '-------------------------------------'echo '-----------正在安裝mysql中----------'echo '-------------------------------------'rpm -ivh mysql-community-release-el7-5.noarch.rpmecho '-----正在檢測mysql安裝環(huán)境是否成功----'elseecho '-------------已安裝過mysql--------------'fiinstallmysqlServer(){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' ];thenyum install -y mysql-serverelseecho '-----已安裝過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)建虛擬機的基本配置--tomcat--mysql--jdk--maven的文章就介紹到這了,更多相關(guān)shell腳本自動化創(chuàng)建虛擬機的基本配置--tomcat--mysql--jdk--maven內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. Mybatis傳入List實現(xiàn)批量更新的示例代碼2. Microsoft Office Access隱藏和顯示字段的方法3. DB2 XML 全文搜索之為文本搜索做準(zhǔn)備4. MySQL實現(xiàn)數(shù)據(jù)批量更新功能詳解5. MySQL5.7 mysqldump備份與恢復(fù)的實現(xiàn)6. How to access eclipse workspace?7. SQL Server跨服務(wù)器操作數(shù)據(jù)庫的圖文方法(LinkedServer)8. 快速解決mysql導(dǎo)出scv文件亂碼、躥行的問題9. MySql使用mysqldump 導(dǎo)入與導(dǎo)出方法總結(jié)10. navicat for mysql導(dǎo)出數(shù)據(jù)庫的方法
