case:
[09:56:57 root@bj-aly-wordpress-251-93 shell_script]#cat /data/shell_script/reset_centos7_case.sh
#!/bin/bash
#
#*************************************************************************************
#Author: wanghaomiao
#QQ: 1074035975
#Date: 2022-03-31
#FileName reset_centos7.sh
#URL: wanghaomiao.com.cn
#Description: The test script
#Copyreght (C): 2022 All rightsreserved
#*************************************************************************************
COLOR='\e[1;31m'
COLOR_END='\e[0m'
NETWORK_NAME=`ip addr | sed -nr '/^2/s#^.* ([a-z]+[0-9]+).*#\1#p'`
NETWORK_DIR="/etc/sysconfig/network-scripts/ifcfg-$NETWORK_NAME"
set_sshd(){
sed -i.bak -e 's/#UseDNS no/UseDNS no/' -e 's/GSSAPIAuthentication yes/GSSAPIAuthentication no/' /etc/ssh/sshd_config
systemctl restart sshd
if [ $? -eq 0 ]; then
echo -e $COLOR ssh service setup completed! $COLOR_END
else
echo -e "$COLOR SSH service setting failed, please try again,exit! $COLOR_END"
exit
fi
}
set_vimrc(){
echo -ne "$COLOR"
echo -e "Please enter relevant information to set vimrc file"
read -p "pleace enter your UserName:" UserName
read -p "pleace enter your QQ:" QQ
read -p "pleace enter your UserURL:" UserURL
echo -ne "$COLOR_END"
cat >.vimrc <<EOF
set ts=4
set expandtab
set ignorecase
autocmd BufNewFile *.sh exec ":call SetTitile()"
func SetTitile()
if expand("%:e") == 'sh'
call setline(1,"#!/bin/bash")
call setline(2,"#")
call setline(3,"#*************************************************************************************")
call setline(4,"#Author: $UserName")
call setline(5,"#QQ: $QQ")
call setline(6,"#Date: ".strftime("%Y-%m-%d"))
call setline(7,"#FileName ".expand("%"))
call setline(8,"#URL: $UserURL")
call setline(9,"#Description: The test script")
call setline(10,"#Copyreght (C): ".strftime("%Y")." All rightsreserved")
call setline(11,"#*************************************************************************************")
call setline(12,"")
endif
endfunc
autocmd BufNewFile * normal G
EOF
if [ $? -eq 0 ]; then
echo -e "$COLOR .vimrc setup completed! $COLOR_END"
else
echo -e "$COLOR .vimrc setting failed,please try again,exit! $COLOR_END"
exit
fi
}
set_selinux_firewalld(){
sed -ri.bak 's/(SELINUX=).*/\1disabled/' /etc/selinux/config
systemctl disable --now firewalld
if [ $? -eq 0 ];then
echo -e "$COLOR SElinux and firewalld are turend off! $COLOR_END"
else
echo -e "$COLOR SELinux and firewall shutdown failed. Please try again,exit! $COLOR_END"
exit
fi
}
set_hostname(){
read -p "Please enter the host name to set: " HostName
hostnamectl set-hostname $HostName
if [ $? -eq 0 ];then
echo -e "$COLOR Hostname setting completed,pleace re login! $COLOR_END"
else
echo -e "$COLOR Hostname setting failed,please try again,exit! $COLOR_END"
exit
fi
}
set_date(){
read -p "Please enter the time zone to set: " ZONE
timedatectl set-timezone $ZONE
if [ $? -eq 0 ];then
echo -e "$COLOR Time zone $ZONE settings completed! $COLOR_END"
else
echo -e "$COLOR Time zone $ZONE setting failed, please try again,exit! $COLOR_END"
exit
fi
}
set_yum(){
yum repolist
yum -y install wget
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.buckup
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
if [ $? -eq 0 ];then
echo -e "$COLOR Alibaba cloud Yum source settings completed! $COLOR_END"
else
echo -e "$COLOR Alibaba colod Yum source settings failed,please try again,exit! $COLOR_END"
exit
fi
}
set_software_install(){
yum -y install gcc make gcc-c++ glibc glibc-devel pcre pcre-devel openssl openssl-devel systemd-devel zlib-devel vim lrzsz tree tmux lsof tcpdump wget net-tools iotop bc bzip2 zip unzip nfs-utils man-pages redhat-lsb-core postfix mailx bash-completion man-pages
if [ $? -eq 0 ];then
echo -e "$COLOR software installation completed! $COLOR_END"
else
echo -e "$SOLOR sofrware installation failed,please try again,exit! $COLOR_END"
exit
fi
}
set_eth0(){
mv /etc/sysconfig/network-scripts/ifcfg-$NETWORK_NAME $NETWORK_DIR
sed -ri.bak 's/(GRUB_CMDLINE_LINUX=.*quiet).*/\1 net.ifnames=0 biosdevname=0"/' /etc/default/grub
eval sed -ri.bak 's/${NETWORK_NAME}/eth0/g' $NETWORK_DIR
grub2-mkconfig -o /boot/grub2/grub.cfg
if [ $? -eq 0 ];then
echo -e "$COLOR The network card name has been changed.about to reboot! $COLOR_END"
reboot
else
echo -e "$COLOR The network card name change failed, please try again,exit! $COLOR_END"
exit
fi
}
set_ip(){
read -p "please input ip address: " IP
read -p "please input netmask address: " NETMASK
read -p "please input gateway address: " GATEWAY
read -p "Please input DNS address: " DNS1
cat > $NETWORK_DIR << EOF
TYPE="Ethernet"
BOOTPROTO="static"
DEFROUTE="yes"
NAME="eth0"
DEVICE="eth0"
ONBOOT="yes"
IPADDR="$IP"
NETMASK="$NETMASK"
GATEWAY="$GATEWAY"
DNS1="$DNS1"
EOF
if [ $? -eq 0 ]; then
echo -e "$COLOR IP address settings completed,the network service will be restarted soon.SSH users need to reconnect $COLOR_END"
else
echo -e "$COLOR IP address settings failed,please try again!exit $COLOR_END"
exit
fi
systemctl restart network
}
set_di(){
sed -ri.bak 's/#set bell-style none/set bell-style none/' /etc/inputrc | grep '#set bell-style none' /etc/inputrc
if [ $? -eq 0 ];then
echo -e "$COLOR Mainboard alarm turned off,about to reboot! $COLOR_END"
reboot
else
echo -e "$COLOR Mainboard alarm closing failed,please try again,exit! $COLOR_END"
exit
fi
}
#PS3="Please enter the number(1-11):"
#MENU="
#优化sshd服务
#设置.vimrc文件
#关闭Selinux及防火墙
#设置主机名
#时间同步
#更改yum源
#常用软件安装
#设置网卡名称为eth0
#设置IP地址
#关闭主板报警
#退出
#"
echo -ne "$COLOR"
cat <<EOF
1) 优化sshd服务
2) 设置.vimrc文件
3) 关闭Selinux及防火墙
4) 设置主机名
5) 时间同步
6) 更改yum源
7) 常用软件安装
8) 设置网卡名称为eth0
9) 设置IP地址
10) 关闭主板报警
11) 退出
EOF
echo -ne "$COLOR_END"
centos_run(){
read -p "Please enter the number(1-11): " MENU
#select menu in $MENU;do
case $MENU in
1)
set_sshd
;;
2)
set_vimrc
;;
3)
set_selinux_firewalld
;;
4)
set_hostname
;;
5)
set_date
;;
6)
set_yum
run
exit
;;
7)
set_software_install
run
exit
;;
8)
set_eth0
;;
9)
set_ip
;;
10)
set_di
;;
11)
# break
exit
;;
*)
echo -e "$COLOR Input error, please re-enter! $COLOR_END"
esac
#done
}
centos_run
select:
[09:58:42 root@bj-aly-wordpress-251-93 shell_script]#cat /data/shell_script/reset_centos7_select.sh
#!/bin/bash
#
#*************************************************************************************
#Author: wanghaomiao
#QQ: 1074035975
#Date: 2022-03-31
#FileName reset_centos7.sh
#URL: wanghaomiao.com.cn
#Description: The test script
#Copyreght (C): 2022 All rightsreserved
#*************************************************************************************
COLOR='\e[1;31m'
COLOR_END='\e[0m'
NETWORK_NAME=`ip addr | sed -nr '/^2/s#^.* ([a-z]+[0-9]+).*#\1#p'`
NETWORK_DIR="/etc/sysconfig/network-scripts/ifcfg-$NETWORK_NAME"
set_sshd(){
sed -i.bak -e 's/#UerDNS no/UseDNS no/' -e 's/GSSAPIAuthentication yes/GSSAPIAuthentication no/' /etc/ssh/sshd_config
systemctl restart sshd
if [ $? -eq 0 ]; then
echo -e $COLOR ssh service setup completed! $COLOR_END
else
echo -e "$COLOR SSH service setting failed, please try again,exit! $COLOR_END"
exit
fi
}
set_vimrc(){
echo -ne "$COLOR"
echo -e "Please enter relevant information to set vimrc file"
read -p "pleace enter your UserName:" UserName
read -p "pleace enter your QQ:" QQ
read -p "pleace enter your UserURL:" UserURL
echo -ne "$COLOR_END"
cat >.vimrc <<EOF
set ts=4
set expandtab
set ignorecase
autocmd BufNewFile *.sh exec ":call SetTitile()"
func SetTitile()
if expand("%:e") == 'sh'
call setline(1,"#!/bin/bash")
call setline(2,"#")
call setline(3,"#*************************************************************************************")
call setline(4,"#Author: $UserName")
call setline(5,"#QQ: $QQ")
call setline(6,"#Date: ".strftime("%Y-%m-%d"))
call setline(7,"#FileName ".expand("%"))
call setline(8,"#URL: $UserURL")
call setline(9,"#Description: The test script")
call setline(10,"#Copyreght (C): ".strftime("%Y")." All rightsreserved")
call setline(11,"#*************************************************************************************")
call setline(12,"")
endif
endfunc
autocmd BufNewFile * normal G
EOF
if [ $? -eq 0 ]; then
echo -e "$COLOR .vimrc setup completed! $COLOR_END"
else
echo -e "$COLOR .vimrc setting failed,please try again,exit! $COLOR_END"
exit
fi
}
set_selinux_firewalld(){
sed -ri.bak 's/(SELINUX=).*/\1disabled/' /etc/selinux/config
systemctl disable --now firewalld
if [ $? -eq 0 ];then
echo -e "$COLOR SElinux and firewalld are turend off! $COLOR_END"
else
echo -e "$COLOR SELinux and firewall shutdown failed. Please try again,exit! $COLOR_END"
exit
fi
}
set_hostname(){
read -p "Please enter the host name to set: " HostName
hostnamectl set-hostname $HostName
if [ $? -eq 0 ];then
echo -e "$COLOR Hostname setting completed,pleace re login! $COLOR_END"
else
echo -e "$COLOR Hostname setting failed,please try again,exit! $COLOR_END"
exit
fi
}
set_date(){
read -p "Please enter the time zone to set: " ZONE
timedatectl set-timezone $ZONE
if [ $? -eq 0 ];then
echo -e "$COLOR Time zone $ZONE settings completed! $COLOR_END"
else
echo -e "$COLOR Time zone $ZONE setting failed, please try again,exit! $COLOR_END"
exit
fi
}
set_yum(){
yum repolist
yum -y install wget
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.buckup
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
if [ $? -eq 0 ];then
echo -e "$COLOR Alibaba cloud Yum source settings completed! $COLOR_END"
else
echo -e "$COLOR Alibaba colod Yum source settings failed,please try again,exit! $COLOR_END"
exit
fi
}
set_software_install(){
yum -y install gcc make gcc-c++ glibc glibc-devel pcre pcre-devel openssl openssl-devel systemd-devel zlib-devel vim lrzsz tree tmux lsof tcpdump wget net-tools iotop bc bzip2 zip unzip nfs-utils man-pages redhat-lsb-core postfix mailx bash-completion man-pages
if [ $? -eq 0 ];then
echo -e "$COLOR software installation completed! $COLOR_END"
else
echo -e "$SOLOR sofrware installation failed,please try again,exit! $COLOR_END"
exit
fi
}
set_eth0(){
mv /etc/sysconfig/network-scripts/ifcfg-$NETWORK_NAME $NETWORK_DIR
sed -ri.bak 's/(GRUB_CMDLINE_LINUX=.*quiet).*/\1 net.ifnames=0 biosdevname=0"/' /etc/default/grub
eval sed -ri.bak 's/${NETWORK_NAME}/eth0/g' $NETWORK_DIR
grub2-mkconfig -o /boot/grub2/grub.cfg
if [ $? -eq 0 ];then
echo -e "$COLOR The network card name has been changed.about to reboot! $COLOR_END"
reboot
else
echo -e "$COLOR The network card name change failed, please try again,exit! $COLOR_END"
exit
fi
}
set_ip(){
read -p "please input ip address: " IP
read -p "please input netmask address: " NETMASK
read -p "please input gateway address: " GATEWAY
read -p "Please input DNS address: " DNS1
cat > $NETWORK_DIR << EOF
TYPE="Ethernet"
BOOTPROTO="static"
DEFROUTE="yes"
NAME="eth0"
DEVICE="eth0"
ONBOOT="yes"
IPADDR="$IP"
NETMASK="$NETMASK"
GATEWAY="$GATEWAY"
DNS1="$DNS1"
EOF
if [ $? -eq 0 ]; then
echo -e "$COLOR IP address settings completed,the network service will be restarted soon.SSH users need to reconnect $COLOR_END"
else
echo -e "$COLOR IP address settings failed,please try again!exit $COLOR_END"
exit
fi
systemctl restart network
}
set_di(){
sed -ri.bak 's/#set bell-style none/set bell-style none/' /etc/inputrc | grep '#set bell-style none' /etc/inputrc
if [ $? -eq 0 ];then
echo -e "$COLOR Mainboard alarm turned off,about to reboot! $COLOR_END"
reboot
else
echo -e "$COLOR Mainboard alarm closing failed,please try again,exit! $COLOR_END"
exit
fi
}
PS3="Please enter the number(1-11):"
MENU="
优化sshd服务
设置.vimrc文件
关闭Selinux及防火墙
设置主机名
时间同步
更改yum源
常用软件安装
设置网卡名称为eth0
设置IP地址
关闭主板报警
退出
"
run(){
#echo -ne "$COLOR"
#cat <<EOF
#1) 优化sshd服务
#2) 设置.vimrc文件
#3) 关闭Selinux及防火墙
#4) 设置主机名
#5) 时间同步
#6) 更改yum源
#7) 常用软件安装
#8) 设置网卡名称为eth0
#9) 设置IP地址
#10) 关闭主板报警
#11) 退出
#EOF
#echo -ne "$COLOR_END"
#read -p "Please enter the number(1-11): " MENU
select menu in $MENU;do
case $REPLY in
1)
set_sshd
;;
2)
set_vimrc
;;
3)
set_selinux_firewalld
;;
4)
set_hostname
;;
5)
set_date
;;
6)
set_yum
run
exit
;;
7)
set_software_install
run
exit
;;
8)
set_eth0
;;
9)
set_ip
;;
10)
set_di
;;
11)
break
# exit
;;
*)
echo -e "$COLOR Input error, please re-enter! $COLOR_END"
esac
done
}
run