centos系统远程重装脚本

author author     2022-08-29     490

关键词:

因公司centos服务器重装需求较多,且服务器没有远控卡,每次重装系统需要到机房操作,费时费力.特作此脚本.

此脚本适用于Centos6.1-Centos7.3 64系统的远程安装.如需其他版本请自行添加!

运行脚本如下:

技术分享

技术分享

技术分享

技术分享

技术分享

使用VNC进行远程重装操作!


技术分享

技术分享

技术分享

脚本如下:

#!/bin/bash
 
# Centos AutoInstall 
# VER. 1.1.0 - http://www.fenei.net
# 此脚本主要为方便远程重装centos系统使用,目前因空间问题只做到6.1-7.0的64位版本
# 此脚本需要搭建一套http服务器并启用目录浏览,将需要远程安装的镜像解压到http服务器
# 脚本运行完成以后需要使用vnc客户端连接服务器进行安装.重装系统的服务器需和VNC客户端互通
# 
# 2016年5月20日3

# VER. 2.1.0 - http://www.fenei.net
# 更改自动获取服务器IP地址.
# 新增镜像站点网络连接判断
# 新增centos7系列grub2的安装
# 
# 2017年4月24日
# 
#
# [email protected] Sinpul Network
# http://www.fenei.net
#
#=====================================================================

# 获取本机IP及版本信息
IPADDRESS=$(ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk ‘{print $2}‘|tr -d "addr:")
NETMASK=$(ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk ‘{print $4}‘|tr -d "Mask:")
GATEWAY=$(ip route |grep default|awk ‘{print $3}‘)
DNS=$(cat /etc/resolv.conf | awk ‘NR>1‘ |awk ‘{print $2}‘ | head -n 1)
RELEASE=$(rpm -q centos-release | cut -d ‘-‘ -f 3)

stty erase ^h 
stty erase ^H
stty erase ^?
#将shell运行过程中读取退格键 替换为退格命令,否则会输出 ^H!^?

host=192.168.1.11
ping -c2 $host >>/dev/null
if [ $? -eq 0 ];then
echo “Mirrors network is ok,wait to install ...” 
ping -c5 $host >>/dev/null

	if [ "$RELEASE" = "6" ];
		then	
			clear
			printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++
"
			printf "             +                                                    +
"
			printf "             +                  请输入VNC远程密码                 +
"
			printf "             +                    ■ 必须6-8位 ■                   +
"
			printf "             +                    eg:    12345678                +
"
			printf "             +                                                    +
"
			printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++
"
			read PASSWD
				clear
				printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
"
				printf "             +              您的服务器IP配置信息为                           
"
				printf "             +        IP地址  : $IPADDRESS 									 
"
				printf "             +        子网掩码:$NETMASK	       						     
"
				printf "             +        网关    :$GATEWAY   								     
"
				printf "             +        DNS     : $DNS	   	         				         
"
				printf "             +        请确保配置信息正确,否则将无法远程登录                 
"
				printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
"
				read anykey
					clear                        
					printf "             +++++++++++++++++++++++++++++++++++++++++++++++++++
"
					printf "             ++++++请选择需要安装的Centos系统版本+++++++++++++++
"
					printf "             +                                                 +
"
					printf "             +    1.CentOS 6.1-X86_64   2.CentOS 6.2-X86_64    +
"
					printf "             +    3.CentOS 6.3-X86_64   4.CentOS 6.4-X86_64    +
"
					printf "             +    5.CentOS 6.5-X86_64   6.CentOS 6.6-X86_64    +
"
					printf "             +    7.CentOS 6.7-X86_64   8.CentOS 6.8-X86_64    +
"
					printf "             +    9.CentOS 6.9-X86_64   a.CentOS 7.0-X86_64    +
"
					printf "             +    b.CentOS 7.1-X86_64   c.CentOS 7.2-X86_64    +
"
					printf "             +    d.CentOS 7.3-X86_64                          +
"
					printf "             +                                                 +
"
					printf "             +++++++++++++++++++++++++++++++++++++++++++++++++++
"
					printf "             +++++++++++++++++++++++++++++++++++++++++++++++++++
"
					read selec
					case "$selec" in
							"1")
							##### CentOS 6.1-X86_64 #####
							clear
							mkdir /centos_install
							cd /centos_install
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.1/images/pxeboot/initrd.img
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.1/images/pxeboot/vmlinuz
							cp vmlinuz /boot/vmlinuz.cent.pxe
							cp initrd.img /boot/initrd.img.cent.pxe
							#在"hiddenmenu" 和 "title CentOS..." 增加一项:
							#repo中的url为安装centos的源
							sed -i -e "/hiddenmenu/a	itle CentOS 6.1-X86_64  Install (PXE)
root (hd0,0) 
kernel /vmlinuz.cent.pxe vnc vncpassword=${PASSWD} noselinux headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice= method=http://192.168.1.11/linux/centos/x86_64/6.1/ lang=en_US keymap=us
initrd /initrd.img.cent.pxe" /boot/grub/grub.conf
							;;
						

							"2")
							##### CentOS 6.2-X86_64 #####
							clear
							mkdir /centos_install
							cd /centos_install
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.2/images/pxeboot/initrd.img
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.2/images/pxeboot/vmlinuz
							cp vmlinuz /boot/vmlinuz.cent.pxe
							cp initrd.img /boot/initrd.img.cent.pxe
							#在"hiddenmenu" 和 "title CentOS..." 增加一项:
							#repo中的url为安装centos的源
							sed -i -e "/hiddenmenu/a	itle CentOS 6.2-X86_64  Install (PXE)
root (hd0,0) 
kernel /vmlinuz.cent.pxe vnc vncpassword=${PASSWD} noselinux headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice= method=http://192.168.1.11/linux/centos/x86_64/6.2/ lang=en_US keymap=us
initrd /initrd.img.cent.pxe" /boot/grub/grub.conf
							;;
							

							"3")
							##### CentOS 6.3-X86_64 #####
							clear
							mkdir /centos_install
							cd /centos_install
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.3/images/pxeboot/initrd.img
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.3/images/pxeboot/vmlinuz
							cp vmlinuz /boot/vmlinuz.cent.pxe
							cp initrd.img /boot/initrd.img.cent.pxe
							#在"hiddenmenu" 和 "title CentOS..." 增加一项:
							#repo中的url为安装centos的源
							sed -i -e "/hiddenmenu/a	itle CentOS 6.3-X86_64  Install (PXE)
root (hd0,0) 
kernel /vmlinuz.cent.pxe vnc vncpassword=${PASSWD} noselinux headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice= method=http://192.168.1.11/linux/centos/x86_64/6.3/ lang=en_US keymap=us
initrd /initrd.img.cent.pxe" /boot/grub/grub.conf
							;;
							

							"4")
							##### CentOS 6.4-X86_64 #####
							clear
							mkdir /centos_install
							cd /centos_install
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.4/images/pxeboot/initrd.img
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.4/images/pxeboot/vmlinuz
							cp vmlinuz /boot/vmlinuz.cent.pxe
							cp initrd.img /boot/initrd.img.cent.pxe
							#在"hiddenmenu" 和 "title CentOS..." 增加一项:
							#repo中的url为安装centos的源
							sed -i -e "/hiddenmenu/a	itle CentOS 6.4-X86_64  Install (PXE)
root (hd0,0) 
kernel /vmlinuz.cent.pxe vnc vncpassword=${PASSWD} noselinux headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice= method=http://192.168.1.11/linux/centos/x86_64/6.4/ lang=en_US keymap=us
initrd /initrd.img.cent.pxe" /boot/grub/grub.conf
							;;
							

							"5")
							##### CentOS 6.5-X86_64 #####
							clear
							mkdir /centos_install
							cd /centos_install
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.5/images/pxeboot/initrd.img
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.5/images/pxeboot/vmlinuz
							cp vmlinuz /boot/vmlinuz.cent.pxe
							cp initrd.img /boot/initrd.img.cent.pxe
							#在"hiddenmenu" 和 "title CentOS..." 增加一项:
							#repo中的url为安装centos的源
							sed -i -e "/hiddenmenu/a	itle CentOS 6.5-X86_64  Install (PXE)
root (hd0,0) 
kernel /vmlinuz.cent.pxe vnc vncpassword=${PASSWD} noselinux headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice= method=http://192.168.1.11/linux/centos/x86_64/6.5/ lang=en_US keymap=us
initrd /initrd.img.cent.pxe" /boot/grub/grub.conf
							;;
							

							"6")
							##### CentOS 6.6-X86_64 #####
							clear
							mkdir /centos_install
							cd /centos_install
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.6/images/pxeboot/initrd.img
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.6/images/pxeboot/vmlinuz
							cp vmlinuz /boot/vmlinuz.cent.pxe
							cp initrd.img /boot/initrd.img.cent.pxe
							#在"hiddenmenu" 和 "title CentOS..." 增加一项:
							#repo中的url为安装centos的源
							sed -i -e "/hiddenmenu/a	itle CentOS 6.6-X86_64  Install (PXE)
root (hd0,0) 
kernel /vmlinuz.cent.pxe vnc vncpassword=${PASSWD} noselinux headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice= method=http://192.168.1.11/linux/centos/x86_64/6.6/ lang=en_US keymap=us
initrd /initrd.img.cent.pxe" /boot/grub/grub.conf
							;;

							
							"7")
							##### CentOS 6.7-X86_64 #####
							clear
							mkdir /centos_install
							cd /centos_install
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.7/images/pxeboot/initrd.img
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.7/images/pxeboot/vmlinuz
							cp vmlinuz /boot/vmlinuz.cent.pxe
							cp initrd.img /boot/initrd.img.cent.pxe
							#在"hiddenmenu" 和 "title CentOS..." 增加一项:
							#repo中的url为安装centos的源
							sed -i -e "/hiddenmenu/a	itle CentOS 6.7-X86_64  Install (PXE)
root (hd0,0) 
kernel /vmlinuz.cent.pxe vnc vncpassword=${PASSWD} noselinux headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice= method=http://192.168.1.11/linux/centos/x86_64/6.7/ lang=en_US keymap=us
initrd /initrd.img.cent.pxe" /boot/grub/grub.conf
							;;
							
							"8")
							##### CentOS 6.8-X86_64 #####
							clear
							mkdir /centos_install
							cd /centos_install
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.8/images/pxeboot/initrd.img
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.8/images/pxeboot/vmlinuz
							cp vmlinuz /boot/vmlinuz.cent.pxe
							cp initrd.img /boot/initrd.img.cent.pxe
							#在"hiddenmenu" 和 "title CentOS..." 增加一项:
							#repo中的url为安装centos的源
							sed -i -e "/hiddenmenu/a	itle CentOS 6.8-X86_64  Install (PXE)
root (hd0,0) 
kernel /vmlinuz.cent.pxe vnc vncpassword=${PASSWD} noselinux headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice= method=http://192.168.1.11/linux/centos/x86_64/6.8/ lang=en_US keymap=us
initrd /initrd.img.cent.pxe" /boot/grub/grub.conf
							;;
							
							"9")
							##### CentOS 6.9-X86_64 #####
							clear
							mkdir /centos_install
							cd /centos_install
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.9/images/pxeboot/initrd.img
							curl -O  http://192.168.1.11/linux/centos/x86_64/6.9/images/pxeboot/vmlinuz
							cp vmlinuz /boot/vmlinuz.cent.pxe
							cp initrd.img /boot/initrd.img.cent.pxe
							#在"hiddenmenu" 和 "title CentOS..." 增加一项:
							#repo中的url为安装centos的源
							sed -i -e "/hiddenmenu/a	itle CentOS 6.9-X86_64  Install (PXE)
root (hd0,0) 
kernel /vmlinuz.cent.pxe vnc vncpassword=${PASSWD} noselinux headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice= method=http://192.168.1.11/linux/centos/x86_64/6.9/ lang=en_US keymap=us
initrd /initrd.img.cent.pxe" /boot/grub/grub.conf
							;;

							"a")
							##### CentOS 7.0-X86_64 #####
							clear
							mkdir /centos_install
							cd /centos_install
							curl -O  http://192.168.1.11/linux/centos/x86_64/7.0/images/pxeboot/initrd.img
							curl -O  http://192.168.1.11/linux/centos/x86_64/7.0/images/pxeboot/vmlinuz
							cp vmlinuz /boot/vmlinuz.cent.pxe
							cp initrd.img /boot/initrd.img.cent.pxe
							#在"hiddenmenu" 和 "title CentOS..." 增加一项:
							#repo中的url为安装centos的源
							sed -i -e "/hiddenmenu/a	itle CentOS 7.0-X86_64  Install (PXE)
root (hd0,0) 
kernel /vmlinuz.cent.pxe vnc vncpassword=${PASSWD} noselinux headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice= method=http://192.168.1.11/linux/centos/x86_64/7.0/ lang=en_US keymap=us
initrd /initrd.img.cent.pxe" /boot/grub/grub.conf
							;;
							
							"b")
							##### CentOS 7.1-X86_64 #####
							clear
							mkdir /centos_install
							cd /centos_install
							curl -O  http://192.168.1.11/linux/centos/x86_64/7.1/images/pxeboot/initrd.img
							curl -O  http://192.168.1.11/linux/centos/x86_64/7.1/images/pxeboot/vmlinuz
							cp vmlinuz /boot/vmlinuz.cent.pxe
							cp initrd.img /boot/initrd.img.cent.pxe
							#在"hiddenmenu" 和 "title CentOS..." 增加一项:
							#repo中的url为安装centos的源
							sed -i -e "/hiddenmenu/a	itle CentOS 7.1-X86_64  Install (PXE)
root (hd0,0) 
kernel /vmlinuz.cent.pxe vnc vncpassword=${PASSWD} noselinux headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice= method=http://192.168.1.11/linux/centos/x86_64/7.1/ lang=en_US keymap=us
initrd /initrd.img.cent.pxe" /boot/grub/grub.conf
							;;
							
							"c")
							##### CentOS 7.2-X86_64 #####
							clear
							mkdir /centos_install
							cd /centos_install
							curl -O  http://192.168.1.11/linux/centos/x86_64/7.2/images/pxeboot/initrd.img
							curl -O  http://192.168.1.11/linux/centos/x86_64/7.2/images/pxeboot/vmlinuz
							cp vmlinuz /boot/vmlinuz.cent.pxe
							cp initrd.img /boot/initrd.img.cent.pxe
							#在"hiddenmenu" 和 "title CentOS..." 增加一项:
							#repo中的url为安装centos的源
							sed -i -e "/hiddenmenu/a	itle CentOS 7.2-X86_64  Install (PXE)
root (hd0,0) 
kernel /vmlinuz.cent.pxe vnc vncpassword=${PASSWD} noselinux headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice= method=http://192.168.1.11/linux/centos/x86_64/7.2/ lang=en_US keymap=us
initrd /initrd.img.cent.pxe" /boot/grub/grub.conf
							;;
							
							"d")
							##### CentOS 7.3-X86_64 #####
							clear
							mkdir /centos_install
							cd /centos_install
							curl -O  http://192.168.1.11/linux/centos/x86_64/7.3/images/pxeboot/initrd.img
							curl -O  http://192.168.1.11/linux/centos/x86_64/7.3/images/pxeboot/vmlinuz
							cp vmlinuz /boot/vmlinuz.cent.pxe
							cp initrd.img /boot/initrd.img.cent.pxe
							#在"hiddenmenu" 和 "title CentOS..." 增加一项:
							#repo中的url为安装centos的源
							sed -i -e "/hiddenmenu/a	itle CentOS 7.3-X86_64  Install (PXE)
root (hd0,0) 
kernel /vmlinuz.cent.pxe vnc vncpassword=${PASSWD} noselinux headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice= method=http://192.168.1.11/linux/centos/x86_64/7.3/ lang=en_US keymap=us
initrd /initrd.img.cent.pxe" /boot/grub/grub.conf
							;;			
							
						esac

	elif [ "$RELEASE" = "7" ];
	then
		clear
		printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++
"
		printf "             +                                                    +
"
		printf "             +                  请输入VNC远程密码                 +
"
		printf "             +                    ■ 必须6-8位 ■                   +
"
		printf "             +                  eg:     12345678                 +
"
		printf "             +                                                    +
"
		printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++
"
		read PASSWD
			clear
			printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
"
			printf "             +              您的服务器IP配置信息为                           
"
			printf "             +        IP地址  : $IPADDRESS 									 
"
			printf "             +        子网掩码:$NETMASK	       						     
"
			printf "             +        网关    :$GATEWAY   								     
"
			printf "             +        DNS     : $DNS	   	         				         
"
			printf "             +        请确保配置信息正确,否则将无法远程登录                 
"
			printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
"
			read anykey
				clear                        
				printf "             +++++++++++++++++++++++++++++++++++++++++++++++++++
"
				printf "             ++++++请选择需要安装的Centos系统版本+++++++++++++++
"
				printf "             +                                                 +
"
				printf "             +    1.CentOS 6.1-X86_64   2.CentOS 6.2-X86_64    +
"
				printf "             +    3.CentOS 6.3-X86_64   4.CentOS 6.4-X86_64    +
"
				printf "             +    5.CentOS 6.5-X86_64   6.CentOS 6.6-X86_64    +
"
				printf "             +    7.CentOS 6.7-X86_64   8.CentOS 6.8-X86_64    +
"
				printf "             +    9.CentOS 6.9-X86_64   a.CentOS 7.0-X86_64    +
"
				printf "             +    b.CentOS 7.1-X86_64   c.CentOS 7.2-X86_64    +
"
				printf "             +    d.CentOS 7.3-X86_64                          +
"
				printf "             +                                                 +
"
				printf "             +++++++++++++++++++++++++++++++++++++++++++++++++++
"
				printf "             +++++++++++++++++++++++++++++++++++++++++++++++++++
"
				read selec
				case "$selec" in
					"1")
					##### CentOS 6.1-X86_64 #####
					clear
					mkdir /centos_install
					cd /centos_install
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.1/images/pxeboot/initrd.img
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.1/images/pxeboot/vmlinuz
					cp vmlinuz /boot/vmlinuz.cent.pxe
					cp initrd.img /boot/initrd.img.cent.pxe
			
			
					cat >> /etc/grub.d/40_custom << EOF
				menuentry "NetInstall" {
					set root=(hd0,1)
					linux /vmlinuz.cent.pxe repo=http://192.168.1.11/linux/centos/x86_64/6.1/ vnc vncpassword=${PASSWD} ip=${IPADDRESS} netmask=${NETMASK} gateway=${GATEWAY} nameserver=${DNS} noselinux headless
					initrd /initrd.img.cent.pxe
				}
EOF

			

					grub2-mkconfig --output=/boot/grub2/grub.cfg
					grub2-reboot NetInstall			
					;;
				

					"2")
					##### CentOS 6.2-X86_64 #####
					clear
					mkdir /centos_install
					cd /centos_install
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.2/images/pxeboot/initrd.img
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.2/images/pxeboot/vmlinuz
					cp vmlinuz /boot/vmlinuz.cent.pxe
					cp initrd.img /boot/initrd.img.cent.pxe
					
					
					cat >> /etc/grub.d/40_custom << EOF
				menuentry "NetInstall" {
					set root=(hd0,1)
					linux /vmlinuz.cent.pxe repo=http://192.168.1.11/linux/centos/x86_64/6.2/ vnc vncpassword=${PASSWD} ip=${IPADDRESS} netmask=${NETMASK} gateway=${GATEWAY} nameserver=${DNS} noselinux headless
					initrd /initrd.img.cent.pxe
				}
EOF

			

					grub2-mkconfig --output=/boot/grub2/grub.cfg
					grub2-reboot NetInstall			
					;;
					

					"3")
					##### CentOS 6.3-X86_64 #####
					clear
					mkdir /centos_install
					cd /centos_install
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.3/images/pxeboot/initrd.img
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.3/images/pxeboot/vmlinuz
					cp vmlinuz /boot/vmlinuz.cent.pxe
					cp initrd.img /boot/initrd.img.cent.pxe
					
					
					cat >> /etc/grub.d/40_custom << EOF
				menuentry "NetInstall" {
					set root=(hd0,1)
					linux /vmlinuz.cent.pxe repo=http://192.168.1.11/linux/centos/x86_64/6.3/ vnc vncpassword=${PASSWD} ip=${IPADDRESS} netmask=${NETMASK} gateway=${GATEWAY} nameserver=${DNS} noselinux headless
					initrd /initrd.img.cent.pxe
				}
EOF

			

					grub2-mkconfig --output=/boot/grub2/grub.cfg
					grub2-reboot NetInstall			
					;;
					

					"4")
					##### CentOS 6.4-X86_64 #####
					clear
					mkdir /centos_install
					cd /centos_install
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.4/images/pxeboot/initrd.img
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.4/images/pxeboot/vmlinuz
					cp vmlinuz /boot/vmlinuz.cent.pxe
					cp initrd.img /boot/initrd.img.cent.pxe
					
					
					cat >> /etc/grub.d/40_custom << EOF
				menuentry "NetInstall" {
					set root=(hd0,1)
					linux /vmlinuz.cent.pxe repo=http://192.168.1.11/linux/centos/x86_64/6.4/ vnc vncpassword=${PASSWD} ip=${IPADDRESS} netmask=${NETMASK} gateway=${GATEWAY} nameserver=${DNS} noselinux headless
					initrd /initrd.img.cent.pxe
				}
EOF

			

					grub2-mkconfig --output=/boot/grub2/grub.cfg
					grub2-reboot NetInstall			
					;;
					

					"5")
					##### CentOS 6.5-X86_64 #####
					clear
					mkdir /centos_install
					cd /centos_install
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.5/images/pxeboot/initrd.img
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.5/images/pxeboot/vmlinuz
					cp vmlinuz /boot/vmlinuz.cent.pxe
					cp initrd.img /boot/initrd.img.cent.pxe
					
					
					cat >> /etc/grub.d/40_custom << EOF
				menuentry "NetInstall" {
					set root=(hd0,1)
					linux /vmlinuz.cent.pxe repo=http://192.168.1.11/linux/centos/x86_64/6.5/ vnc vncpassword=${PASSWD} ip=${IPADDRESS} netmask=${NETMASK} gateway=${GATEWAY} nameserver=${DNS} noselinux headless
					initrd /initrd.img.cent.pxe
				}
EOF

			

					grub2-mkconfig --output=/boot/grub2/grub.cfg
					grub2-reboot NetInstall			
					;;
					

					"6")
					##### CentOS 6.6-X86_64 #####
					clear
					mkdir /centos_install
					cd /centos_install
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.6/images/pxeboot/initrd.img
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.6/images/pxeboot/vmlinuz
					cp vmlinuz /boot/vmlinuz.cent.pxe
					cp initrd.img /boot/initrd.img.cent.pxe
					
					
					cat >> /etc/grub.d/40_custom << EOF
				menuentry "NetInstall" {
					set root=(hd0,1)
					linux /vmlinuz.cent.pxe repo=http://192.168.1.11/linux/centos/x86_64/6.6/ vnc vncpassword=${PASSWD} ip=${IPADDRESS} netmask=${NETMASK} gateway=${GATEWAY} nameserver=${DNS} noselinux headless
					initrd /initrd.img.cent.pxe
				}
EOF

			

					grub2-mkconfig --output=/boot/grub2/grub.cfg
					grub2-reboot NetInstall			
					;;

					
					"7")
					clear
					mkdir /centos_install
					cd /centos_install
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.7/images/pxeboot/initrd.img
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.7/images/pxeboot/vmlinuz
					cp vmlinuz /boot/vmlinuz.cent.pxe
					cp initrd.img /boot/initrd.img.cent.pxe
					
					
					cat >> /etc/grub.d/40_custom << EOF
				menuentry "NetInstall" {
					set root=(hd0,1)
					linux /vmlinuz.cent.pxe repo=http://192.168.1.11/linux/centos/x86_64/6.7/ vnc vncpassword=${PASSWD} ip=${IPADDRESS} netmask=${NETMASK} gateway=${GATEWAY} nameserver=${DNS} noselinux headless
					initrd /initrd.img.cent.pxe
				}
EOF

			

					grub2-mkconfig --output=/boot/grub2/grub.cfg
					grub2-reboot NetInstall			
					;;
					
					"8")
					##### CentOS 6.8-X86_64 #####
					clear
					mkdir /centos_install
					cd /centos_install
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.8/images/pxeboot/initrd.img
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.8/images/pxeboot/vmlinuz
					cp vmlinuz /boot/vmlinuz.cent.pxe
					cp initrd.img /boot/initrd.img.cent.pxe
					
					
					cat >> /etc/grub.d/40_custom << EOF
				menuentry "NetInstall" {
					set root=(hd0,1)
					linux /vmlinuz.cent.pxe repo=http://192.168.1.11/linux/centos/x86_64/6.8/ vnc vncpassword=${PASSWD} ip=${IPADDRESS} netmask=${NETMASK} gateway=${GATEWAY} nameserver=${DNS} noselinux headless
					initrd /initrd.img.cent.pxe
				}
EOF

			

					grub2-mkconfig --output=/boot/grub2/grub.cfg
					grub2-reboot NetInstall			
					;;
					
					"9")
					##### CentOS 6.9-X86_64 #####
					clear
					mkdir /centos_install
					cd /centos_install
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.9/images/pxeboot/initrd.img
					curl -O  http://192.168.1.11/linux/centos/x86_64/6.9/images/pxeboot/vmlinuz
					cp vmlinuz /boot/vmlinuz.cent.pxe
					cp initrd.img /boot/initrd.img.cent.pxe
					
					
					cat >> /etc/grub.d/40_custom << EOF
				menuentry "NetInstall" {
					set root=(hd0,1)
					linux /vmlinuz.cent.pxe repo=http://192.168.1.11/linux/centos/x86_64/6.9/ vnc vncpassword=${PASSWD} ip=${IPADDRESS} netmask=${NETMASK} gateway=${GATEWAY} nameserver=${DNS} noselinux headless
					initrd /initrd.img.cent.pxe
				}
EOF

			

					grub2-mkconfig --output=/boot/grub2/grub.cfg
					grub2-reboot NetInstall			
					;;

					"a")
					##### CentOS 7.0-X86_64 #####
					clear
					mkdir /centos_install
					cd /centos_install
					curl -O  http://192.168.1.11/linux/centos/x86_64/7.0/images/pxeboot/initrd.img
					curl -O  http://192.168.1.11/linux/centos/x86_64/7.0/images/pxeboot/vmlinuz
					cp vmlinuz /boot/vmlinuz.cent.pxe
					cp initrd.img /boot/initrd.img.cent.pxe
					
					
					cat >> /etc/grub.d/40_custom << EOF
				menuentry "NetInstall" {
					set root=(hd0,1)
					linux /vmlinuz.cent.pxe repo=http://192.168.1.11/linux/centos/x86_64/7.0/ vnc vncpassword=${PASSWD} ip=${IPADDRESS} netmask=${NETMASK} gateway=${GATEWAY} nameserver=${DNS} noselinux headless
					initrd /initrd.img.cent.pxe
				}
EOF

			

					grub2-mkconfig --output=/boot/grub2/grub.cfg
					grub2-reboot NetInstall			
					;;
					
					"b")
					##### CentOS 7.1-X86_64 #####
					clear
					mkdir /centos_install
					cd /centos_install
					curl -O  http://192.168.1.11/linux/centos/x86_64/7.1/images/pxeboot/initrd.img
					curl -O  http://192.168.1.11/linux/centos/x86_64/7.1/images/pxeboot/vmlinuz
					cp vmlinuz /boot/vmlinuz.cent.pxe
					cp initrd.img /boot/initrd.img.cent.pxe
					
					
					cat >> /etc/grub.d/40_custom << EOF
				menuentry "NetInstall" {
					set root=(hd0,1)
					linux /vmlinuz.cent.pxe repo=http://192.168.1.11/linux/centos/x86_64/7.1/ vnc vncpassword=${PASSWD} ip=${IPADDRESS} netmask=${NETMASK} gateway=${GATEWAY} nameserver=${DNS} noselinux headless
					initrd /initrd.img.cent.pxe
				}
EOF

			

					grub2-mkconfig --output=/boot/grub2/grub.cfg
					grub2-reboot NetInstall			
					;;
					
					"c")
					##### CentOS 7.2-X86_64 #####
					clear
					mkdir /centos_install
					cd /centos_install
					curl -O  http://192.168.1.11/linux/centos/x86_64/7.2/images/pxeboot/initrd.img
					curl -O  http://192.168.1.11/linux/centos/x86_64/7.2/images/pxeboot/vmlinuz
					cp vmlinuz /boot/vmlinuz.cent.pxe
					cp initrd.img /boot/initrd.img.cent.pxe
					
					
					cat >> /etc/grub.d/40_custom << EOF
				menuentry "NetInstall" {
					set root=(hd0,1)
					linux /vmlinuz.cent.pxe repo=http://192.168.1.11/linux/centos/x86_64/7.2/ vnc vncpassword=${PASSWD} ip=${IPADDRESS} netmask=${NETMASK} gateway=${GATEWAY} nameserver=${DNS} noselinux headless
					initrd /initrd.img.cent.pxe
				}
EOF

			

					grub2-mkconfig --output=/boot/grub2/grub.cfg
					grub2-reboot NetInstall
					;;
					
					"d")
					##### CentOS 7.3-X86_64 #####
								clear
					mkdir /centos_install
					cd /centos_install
					curl -O  http://192.168.1.11/linux/centos/x86_64/7.3/images/pxeboot/initrd.img
					curl -O  http://192.168.1.11/linux/centos/x86_64/7.3/images/pxeboot/vmlinuz
					cp vmlinuz /boot/vmlinuz.cent.pxe
					cp initrd.img /boot/initrd.img.cent.pxe
					
					
					cat >> /etc/grub.d/40_custom << EOF
				menuentry "NetInstall" {
					set root=(hd0,1)
					linux /vmlinuz.cent.pxe repo=http://192.168.1.11/linux/centos/x86_64/7.3/ vnc vncpassword=${PASSWD} ip=${IPADDRESS} netmask=${NETMASK} gateway=${GATEWAY} nameserver=${DNS} noselinux headless
					initrd /initrd.img.cent.pxe
				}
EOF

			

					grub2-mkconfig --output=/boot/grub2/grub.cfg
					grub2-reboot NetInstall			
					;;			
					
				esac
	else
		echo "当前系统不支持此安装脚本,无法进行安装"
	fi

	

	printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++
"
	printf "             +              Centos重装脚本执行成功                 
"
	printf "             +     请重启服务器后使用VNC客户端远程进行系统安装	   
"
	printf "             +             VNC服务器地址:$IPADDRESS:1   	   	   
"
	printf "             +             VNC服务器密码:$PASSWD                  
"
	printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++
"
	read anykey	
		exit
else
echo “network is Unreachable,This script can not run! Now Exit!!!” 
exit
fi	

		


本文出自 “www.fenei.com” 博客,请务必保留此出处http://babyfenei.blog.51cto.com/443861/1919024

远程重装centos6

写得比较简略,也是综合网络上的文章,总结一下实操的经验获取启动内核wget-P/boot/http://mirrors.163.com/centos/6.8/os/x86_64/images/pxeboot/initrd.imgwget-P/boot/http://mirrors.163.com/centos/6.8/os/x86_64/images/pxeboot/vmlinuz源地址163源h 查看详情

远程重装mac系统

...个同事大象上面找我,说自己参与公司合作的苹果笔记本系统被她搞的乱七八糟的,想要重新安装系统,问我能不能给她搞定,出差给她去给她安装个系统吧,不妥;把笔记本让她寄给我吧,又不安全;去百脑汇吧,估计要收好... 查看详情

阿里云centos重装系统

参考技术A1、登陆阿里云官网后台系统2、【停止实例】选择云服务器ECS >>在菜单下选择“实例”>>选择套餐内容后边的更多>>选择实例状态>>选择停止(需要验证码)3、【更换系统盘】停止后选择磁盘和镜像... 查看详情

centos7安全加固脚本

...时自动注销等。同时还安装了常用的安全工具,并更新了系统。可以根据需要进行修改和扩展,以适应不同的安全需求。#!/bin/bash#该脚本用于红帽系统的安全加固#关闭不必要的服务systemctlstopabrtd.servicesystemctldisableabrtd.servicesystemc... 查看详情

centos禁用本地root和远程ssh登录

...所有程序无法使用(telnet服务同样被禁止了).最后通过将该系统盘挂载到另外一台服务器上,将脚本改回为原来状态解决问题。   正常后登录服务器检查CentO 查看详情

如何重装centos7系统

参考技术A按错过程中报错dracut-initqueuetimeout,原因是Label名不对。改成一个简单的如CENTOS7以惠普电脑为例,把U盘插上去,开机过程中不断按Esc和F9,出现启动界面,选择U盘启动选择第一项Installcentos7,按“e”键,编辑Label标签为我... 查看详情

sqlserver2012远程过程调用失败怎么解决?电脑上没有sqlserverexpresslocaldb。。。。不想重装系统

参考技术A重装系统,最简单是用(光速一键重装系统)这个软件在线就能装XP;Win7;Win8系统,不用光盘和U盘,32.64位都有,还支持各系统之间换装的,不会可百度一下这个软件,有下载的,会点确定就能自已装系统的。 参考技... 查看详情

linux忘记密码怎么办,centos和ubuntu重置密码方法(代码片段)

...远程接触不了,是没法改的。除非服务器自动的远程系统,如dell的IDRAC远程操作,可以远程模拟物理环境,可远程重装系统等操作一:CentOS重置密码系统版本:centos7.9方法1࿱ 查看详情

linux忘记密码怎么办,centos和ubuntu重置密码方法(代码片段)

...远程接触不了,是没法改的。除非服务器自动的远程系统,如dell的IDRAC远程操作,可以远程模拟物理环境,可远程重装系统等操作一:CentOS重置密码系统版本:centos7.9方法1࿱ 查看详情

centos7系统重装报错“/dev/rootdoesnotexist“解决办法

Centos7系统重装报错"/dev/rootdoesnotexist"解决办法一、报错场景二、报错提示三、报错分析四、解决方法(理论)1.解决方法12.解决方法2五、实际解决步骤——查看U盘设备名1.默认U盘启动进入dracut命令行界面2.查看设备... 查看详情

运维监控前言

...开发这条路越走越深了。闲着也是闲着,把这两年的做的系统和笔记整理一下。  稍微理一下,后续应该会有以下内容:    服务器监控系统(附:流量汇聚、同比监控)、硬件监控系统、交换机监控、指标监控【升级】... 查看详情

20.27分发系统介绍20.28expect脚本远程登录20.29expect脚本远程执行

20.27分发系统介绍20.28expect脚本远程登录20.29expect脚本远程执行命令20.30expect脚本传递参数 查看详情

分发系统介绍,expect脚本远程登录,expect脚本远程执行命令,expect脚本传递参数(代码片段)

分发系统介绍当我们要上线一个新代码的时候,如果机器少,我们的工作量不会很大,很容易完成,如果设备很多,有几十台,上百台的话,那我们的工作量会非常大,而且也不规范,这时,我们就可以用可以用开源的软件,exp... 查看详情

分发系统介绍,expect脚本远程登录,expect脚本远程执行命令,expect脚本传递参数(代码片段)

分发系统介绍当我们要上线一个新代码的时候,如果机器少,我们的工作量不会很大,很容易完成,如果设备很多,有几十台,上百台的话,那我们的工作量会非常大,而且也不规范,这时,我们就可以用可以用开源的软件,exp... 查看详情

七十分发系统介绍expect脚本远程登录expect脚本远程执行命令expect传递参数

七十三、分发系统介绍、expect脚本远程登录一、分发系统介绍expect脚本:能传输文件,可以远程执行命令,不需要输入密码,上线代码。首先,准备一台模板机器,这台机器上的代码是最新的代码,准备要上线的代码,要知道要... 查看详情

分发系统介绍expect脚本远程执行命令expect脚本远程传递参数expect脚本传递参数(代码片段)

分发系统介绍expect可以让我们实现自动登录远程机器,并且可以实现自动远程执行命令。当然若是使用不带密码的密钥验证同样可以实现自动登录和自动远程执行命令。但当不能使用密钥验证的时候,我们就没有办法了。所以,... 查看详情

分发系统介绍expect脚本远程登录expect脚本远程执行命令expect脚本传递参数(代码片段)

20.27分发系统介绍应用场景当业务越做越大,服务器需求越来越多,几台服务器的话还好一点;当十几、几十台的时候,工作量就非常大!并且不规范,需要一个模板机分发到各个机器上去。可以用开源的软件,expect脚本语言,... 查看详情

用于在远程系统上归档文件的 Unix shell 脚本

】用于在远程系统上归档文件的Unixshell脚本【英文标题】:UnixshellscripttoarchivefilesonRemotesystem【发布时间】:2012-08-0612:04:17【问题描述】:我需要在远程位置存档文件。即,我需要编写一个shell脚本,该脚本将从该路径连接到远程... 查看详情