centos一键安装脚本 涉及主机名 ip地址 jdk mysql安装

#!/bin/bash


#修改系统名称 同时修改hosts文件
modify_sysname(){
	hostnamectl set-hostname $1
	#先获取hosts文件中对应的内容如果没发现对应的内容才能添加这个地址
	cfg=`cat /etc/hosts | grep $2 | grep -wF $1`
	if [ "$cfg" == "" ];then
		#根据IP地址修改hosts文件
		echo "$2 $1" >> /etc/hosts
	fi
}

#修改IP静态地址
modify_staticip(){
	#先检查文件是否已被修改过
	chk=`cat /etc/sysconfig/network-scripts/ifcfg-ens33 | grep static`
	if [ "$chk" == "" ];then
		#修改/etc/sysconfig/network-scripts/ifcfg-ens33文件中的dhcp
		sed -i 's/dhcp/static/' /etc/sysconfig/network-scripts/ifcfg-ens33
		echo "IPADDR=$1" >> /etc/sysconfig/network-scripts/ifcfg-ens33
		echo "NETMASK=255.255.255.0" >> /etc/sysconfig/network-scripts/ifcfg-ens33
		echo "GATEWAY=${1%.*}.2" >> /etc/sysconfig/network-scripts/ifcfg-ens33
		echo "DNS1=114.114.114.114" >> /etc/sysconfig/network-scripts/ifcfg-ens33
		echo "DNS2=8.8.8.8" >> /etc/sysconfig/network-scripts/ifcfg-ens33
	fi
	systemctl restart network
}

#关闭防火墙
close_firewalld(){
	systemctl stop firewalld
	systemctl disable firewalld 
}

#修改yum源为阿里源
modify_yumsource() {
	# 检查是否已有备份文件 如果有则说明已经做过了
	if [ -e /etc/yum.repos.d/CentOS-Base.repo_bak ];then
		echo "don't nothing!"
	else
		#首先安装wget命令
		yum install -y wget vim
		#修改yum
		cd /etc/yum.repos.d/
		mv CentOS-Base.repo CentOS-Base.repo_bak
		wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
		yum clean all
		yum makecache
	fi
	cd ~
}

#检查文件的文件夹是否存在不存在就创建1个
check_soft_folder(){
	if [ -e /opt/soft/$1 ];then
		echo "/opt/soft/$1 folder already exists"
		return 0
	else
		mkdir -p /opt/soft/$1
		return 1
	fi
}

#安装JDK 软件目录必须在/opt下
setup_jdk() {
	#检查JDK是否已经安装过
	check_soft_folder jdk180
	if [ $? == 1 ];then
		#在opt文件夹下搜索jdk的tar.gz文件
		jdkName=`ls /opt/ | grep jdk*`
		#将文件解压到对应的soft文件夹下
		tar -zxf /opt/$jdkName -C /opt/soft/jdk180 --strip-components 1
		#配置/etc/profile文件
		echo "" >> /etc/profile
		echo "#java environment" >> /etc/profile
		echo "export JAVA_HOME=/opt/soft/jdk180" >> /etc/profile
		echo "export CLASSPATH=.:\${JAVA_HOME}/jre/lib/rt.jar:\${JAVA_HOME}/lib/dt.jar:\${JAVA_HOME}/lib/tools.jar" >> /etc/profile
		echo "export PATH=\$PATH:\${JAVA_HOME}/bin" >> /etc/profile
		source /etc/profile
	fi
}

#安装mysql5.7
setup_mysql() {
	#检查linux的mariadb是否卸载 如果没有说明没有安装过mysql
	mdb=`rpm -qa | grep mariadb`
	if [ "$mdb" != "" ];then
		rpm -e --nodeps $mdb
		cd /opt/
		wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
		yum -y install mysql57-community-release-el7-10.noarch.rpm
		yum -y install mysql-community-server
		#修改/etc/my.cnf文件解决中文乱码
		sed -i '/socket/a character-set-server=utf8' /etc/my.cnf
		echo "[client]" >> /etc/my.cnf
		echo "default-character-set=utf8" >> /etc/my.cnf
		echo "[mysql]" >> /etc/my.cnf
		echo "default-character-set=utf8" >> /etc/my.cnf
		systemctl start  mysqld.service
		#获取临时密码
		pwdinfo=`grep "password" /var/log/mysqld.log| grep -wF "temporary password"`
		passwd=${pwdinfo#*localhost:}
		passwd=$(echo $passwd)
		#执行修改密码语句
		mysql -uroot -p$passwd --connect-expired-password -e "set global validate_password_policy=0"
		mysql -uroot -p$passwd --connect-expired-password -e "set global validate_password_length=1"
		mysql -uroot -p$passwd --connect-expired-password -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'okok'"
		#修改远程登录
		mysql -uroot -pokok -e "GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'okok'"
		mysql -uroot -pokok -e "flush privileges"
		#重启服务
		systemctl restart mysqld.service
	fi
}




#根据用户的选择进行对应的安装
custom_option() {
	case $1 in
		"1")
			modify_sysname $2 $3
			;;
		"2")
			modify_staticip $3
			;;
		"3")
			close_firewalld
			;;
		"4")
			modify_yumsource
			;;
		"5")
			setup_jdk
			;;
		"6")
			setup_mysql
			;;
		"7")
			modify_sysname $2 $3
			modify_staticip $3
			close_firewalld
			modify_yumsource
			setup_jdk
			setup_mysql
			;;
		*)
			echo "please option 1~7"
	esac
}

#规定$1用户安装软件选择 $2用户传入必须是系统的名称 $3用户传入必须是IP地址
custom_option $1 $2 $3

代码执行前先把jdk   .tar.gz文件放在 /opt目录下

并且把这个sys_setup.sh脚本放在 /root下就行

然后 source sys_setup.sh 7 myh 192.168.100.194

前六步一起安装

或者 一步一步装也可以

source sys_setup.sh 1 myh 192.168.100.194

source sys_setup.sh 2 myh 192.168.100.194

.

.

.

.

source sys_setup.sh 6 myh 192.168.100.194

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值