自动化shell脚本
ps:此处安装的jdk,maven,tomcat均在/opt目录下,如需其他目录或者其他版本,可根据需要改动shell脚本即可。
ps:所有代码全部手敲,已亲测能够使用,全部分享出来。
一:虚拟机初始化
创建shell脚本,把命令放进.sh脚本里,./xx.sh运行此脚本可以完成虚拟机初始化
#!/bin/bash #1.改变机器名 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.关闭防火墙 systemctl stop firewalld systemctl disable firewalld
二:jdk自动化安装
创建shell脚本,把命令放进.sh脚本里,./xx.sh运行此脚本可以完成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环境。。。" 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 "配置环境已完成。。。" echo 'this is the end' echo "---------------------------------" echo "---------------------------------" echo "配置版本信息如下:" source /etc/profile java -version else echo "未检测到安装包,请将安装包放到opt目录下" fi
三:maven自动化安装
创建shell脚本,把命令放进.sh脚本里,./xx.sh运行此脚本可以完成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环境。。。" 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 "配置环境已完成。。。" echo 'this is the end' echo "---------------------------------" echo "---------------------------------" echo "配置版本信息如下:" source /etc/profile mvn -version else echo "未检测到安装包,请将安装包放到opt目录下" fishell脚本自动化创建虚拟机的基本配置之tomcat--mysql--jdk--maven
扫一扫手机访问
