Centos 遠程重裝系統腳本

因公司有些服務器需要經常重裝系統,每次跑機房比較麻煩,特做此腳本進行遠程安裝

目前因Http服務器空間有限,只左右Centos6.1-7.0 64位系統的遠程安裝

如需增加  只需按照以前的步驟和方法添加即可。

1、http服務器的搭建

我這裏使用IIS作爲http服務器(linux下最好)

啓用IIS目錄瀏覽功能,並在http頭標籤頁的MIME類型 中添加相應的MIME類型,方便下載此目錄下所有文件。

wKioL1c-xH7ytzzuAAEQ_wQtLtQ147.png

新建MIME類型,在拓展名和MIME類型中都填*

確定保存。

 wKiom1c-xB7RWj1AAAEMHWdTjac764.png

2、解壓鏡像文件到http服務器

wKiom1c-xJTy2AynAABlRelR4Pg411.png

wKioL1c-xiuByPtPAAB9OKmAavg386.png

3、在需要重裝系統的服務器上運行一下腳本

   使用您自己的http服務器地址替換腳本中的IP地址

#!/bin/bash
 
# Centos AutoInstall 
# VER. 1.1.0 - http://www.fenei.net
# 此腳本主要爲方便遠程重裝centos系統使用,目前因空間問題只做到6.1-7.0的64位版本
# 此腳本需要搭建一套http服務器並啓用目錄瀏覽,將需要遠程安裝的鏡像解壓到http服務器
# 腳本運行完成以後需要使用vnc客戶端連接服務器進行安裝.重裝系統的服務器需和VNC客戶端互通
# http://babyfenei.blog.51cto.com/443861/1775441
# 2016年5月20日
# 
#
# Fenei QQ:407603129 Mail:[email protected]
# VER. 1.1.0 - http://www.fenei.net
#
#=====================================================================
stty erase ^h 
stty erase ^H
while true
do
	printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"
	printf "             +                                                    +\n"
	printf "             +                  請輸入服務器IP地址                +\n"
	printf "             +         ※注意:此IP地址用作VNC遠程連接使用※      +\n"
	printf "             +         ※      同時,此IP爲重裝後系統默認IP※      +\n"
	printf "             +         ※      建議輸入您將要配置的IP地址 ※      +\n"
	printf "             +          eg:192.168.1.10   124.115.146.254        +\n"
	printf "             +                                                    +\n"
	printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"
	read IPADDRESS
	clear
	printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"
	printf "             +                                                    +\n"
	printf "             +                  請輸入服務器子網掩碼              +\n"
	printf "             +          eg:255.255.255.0  255.255.255.248        +\n"
	printf "             +                                                    +\n"
	printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"
	read NETMASK
	clear
	printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"
	printf "             +                                                    +\n"
	printf "             +                  請輸入服務器網關地址              +\n"
	printf "             +          eg:192.168.1.1  255.255.255.248          +\n"
	printf "             +                                                    +\n"
	printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"
	read GATEWAY
	clear
	printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"
	printf "             +                                                    +\n"
	printf "             +                  請輸入服務器DNS地址               +\n"
	printf "             +          eg:180.76.76.76 114.114.114.114          +\n"
	printf "             +                                                    +\n"
	printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"
	read DNS
	clear
	printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"
	printf "             +                                                    +\n"
	printf "             +                  請輸入VNC遠程密碼                 +\n"
	printf "             +          eg:admin    Admin#@!1234567              +\n"
	printf "             +                                                    +\n"
	printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"
	read PASSWD
	clear
	printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"
	printf "             +              您的服務器IP配置信息爲                          +\n"
	printf "             +        IP地址: $IPADDRESS  子網掩碼:$NETMASK	            +\n"
	printf "             +        網關  :$GATEWAY    DNS     : $DNS	   	    +\n"
	printf "             +        請確保配置信息正確,否則將無法遠程登錄                +\n"
	printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"
	read anykey
	clear
	printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"
	printf "             ++++++++++++請選擇需要安裝的Centos系統版本++++++++++++++++\n"
	printf "             +                                                        +\n"
	printf "             +        		  1.CentOS 6.1-X86_64                 +\n"
	printf "             +       		  2.CentOS 6.2-X86_64                 +\n"
	printf "             +       	          3.CentOS 6.3-X86_64                 +\n"
	printf "             +       		  4.CentOS 6.4-X86_64                 +\n"
	printf "             +       		  5.CentOS 6.5-X86_64                 +\n"
	printf "             +       		  6.CentOS 6.6-X86_64                 +\n"
	printf "             +       		  7.CentOS 6.7-X86_64                 +\n"
	printf "             +      		  8.CentOS 7.0-X86_64                 +\n"
	printf "             +                                                        +\n"
	printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"
	printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"
	read selec
		case "$selec" in
			"1")
			##### CentOS 6.1-X86_64 #####
		    mkdir /centos_install
			cd /centos_install
			wget http://服務器IP地址/XP/linux/centos/x86_64/6.1/images/pxeboot/initrd.img
			wget http://服務器IP地址/XP/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..." 增加一項:
			#method中的url爲安裝centos的源
			sed -i -e "/hiddenmenu/a\title CentOS 6.1-X86_64  Install (PXE)\nroot (hd0,0) \nkernel \/vmlinuz.cent.pxe vnc vncpassword=${PASSWD} headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice=eth0 method=http:\/\/服務器IP地址\/XP\/linux\/centos\/x86_64\/6.1\/ lang=en_US keymap=us\ninitrd \/initrd.img.cent.pxe" /boot/grub/grub.conf
			;;
		

			"2")
			##### CentOS 6.2-X86_64 #####
			clear
			mkdir /centos_install
			cd /centos_install
			wget http://服務器IP地址/XP/linux/centos/x86_64/6.2/images/pxeboot/initrd.img
			wget http://服務器IP地址/XP/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..." 增加一項:
			#method中的url爲安裝centos的源
			sed -i -e "/hiddenmenu/a\title CentOS 6.2-X86_64  Install (PXE)\nroot (hd0,0) \nkernel \/vmlinuz.cent.pxe vnc vncpassword=${PASSWD} headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice=eth0 method=http:\/\/服務器IP地址\/XP\/linux\/centos\/x86_64\/6.2\/ lang=en_US keymap=us\ninitrd \/initrd.img.cent.pxe" /boot/grub/grub.conf
			;;
			

			"3")
			##### CentOS 6.3-X86_64 #####
			clear
			mkdir /centos_install
			cd /centos_install
			wget http://服務器IP地址/XP/linux/centos/x86_64/6.3/images/pxeboot/initrd.img
			wget http://服務器IP地址/XP/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..." 增加一項:
			#method中的url爲安裝centos的源
			sed -i -e "/hiddenmenu/a\title CentOS 6.3-X86_64  Install (PXE)\nroot (hd0,0) \nkernel \/vmlinuz.cent.pxe vnc vncpassword=${PASSWD} headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice=eth0 method=http:\/\/服務器IP地址\/XP\/linux\/centos\/x86_64\/6.3\/ lang=en_US keymap=us\ninitrd \/initrd.img.cent.pxe" /boot/grub/grub.conf
			;;
			

			"4")
			##### CentOS 6.4-X86_64 #####
			clear
			mkdir /centos_install
			cd /centos_install
			wget http://服務器IP地址/XP/linux/centos/x86_64/6.4/images/pxeboot/initrd.img
			wget http://服務器IP地址/XP/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..." 增加一項:
			#method中的url爲安裝centos的源
			sed -i -e "/hiddenmenu/a\title CentOS 6.4-X86_64  Install (PXE)\nroot (hd0,0) \nkernel \/vmlinuz.cent.pxe vnc vncpassword=${PASSWD} headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice=eth0 method=http:\/\/服務器IP地址\/XP\/linux\/centos\/x86_64\/6.4\/ lang=en_US keymap=us\ninitrd \/initrd.img.cent.pxe" /boot/grub/grub.conf
			;;
			

			"5")
			##### CentOS 6.5-X86_64 #####
			clear
			mkdir /centos_install
			cd /centos_install
			wget http://服務器IP地址/XP/linux/centos/x86_64/6.5/images/pxeboot/initrd.img
			wget http://服務器IP地址/XP/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..." 增加一項:
			#method中的url爲安裝centos的源
			sed -i -e "/hiddenmenu/a\title CentOS 6.5-X86_64  Install (PXE)\nroot (hd0,0) \nkernel \/vmlinuz.cent.pxe vnc vncpassword=${PASSWD} headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice=eth0 method=http:\/\/服務器IP地址\/XP\/linux\/centos\/x86_64\/6.5\/ lang=en_US keymap=us\ninitrd \/initrd.img.cent.pxe" /boot/grub/grub.conf
			;;
			

			"6")
			##### CentOS 6.6-X86_64 #####
			clear
			mkdir /centos_install
			cd /centos_install
			wget http://服務器IP地址/XP/linux/centos/x86_64/6.6/images/pxeboot/initrd.img
			wget http://服務器IP地址/XP/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..." 增加一項:
			#method中的url爲安裝centos的源
			sed -i -e "/hiddenmenu/a\title CentOS 6.6-X86_64  Install (PXE)\nroot (hd0,0) \nkernel \/vmlinuz.cent.pxe vnc vncpassword=${PASSWD} headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice=eth0 method=http:\/\/服務器IP地址\/XP\/linux\/centos\/x86_64\/6.6\/ lang=en_US keymap=us\ninitrd \/initrd.img.cent.pxe" /boot/grub/grub.conf
			;;

			
			"7")
			##### CentOS 6.7-X86_64 #####
			clear
			mkdir /centos_install
			cd /centos_install
			wget http://服務器IP地址/XP/linux/centos/x86_64/6.7/images/pxeboot/initrd.img
			wget http://服務器IP地址/XP/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..." 增加一項:
			#method中的url爲安裝centos的源
			sed -i -e "/hiddenmenu/a\title CentOS 6.7-X86_64  Install (PXE)\nroot (hd0,0) \nkernel \/vmlinuz.cent.pxe vnc vncpassword=${PASSWD} headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice=eth0 method=http:\/\/服務器IP地址\/XP\/linux\/centos\/x86_64\/6.7\/ lang=en_US keymap=us\ninitrd \/initrd.img.cent.pxe" /boot/grub/grub.conf
			;;
			
			"8")
			##### CentOS 7.0-X86_64 #####
			clear
			mkdir /centos_install
			cd /centos_install
			wget http://服務器IP地址/XP/linux/centos/x86_64/6.8/images/pxeboot/initrd.img
			wget http://服務器IP地址/XP/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..." 增加一項:
			#method中的url爲安裝centos的源
			sed -i -e "/hiddenmenu/a\title CentOS 7.0-X86_64  Install (PXE)\nroot (hd0,0) \nkernel \/vmlinuz.cent.pxe vnc vncpassword=${PASSWD} headless ip=${IPADDRESS} IP netmask=${NETMASK} gateway=${GATEWAY} dns=${DNS} ksdevice=eth0 method=http:\/\/服務器IP地址\/XP\/linux\/centos\/x86_64\/7.0\/ lang=en_US keymap=us\ninitrd \/initrd.img.cent.pxe" /boot/grub/grub.conf
			;;
			
		esac
	clear
	printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"
	printf "             +              Centos重裝腳本執行成功                +\n"
	printf "             +     請重啓服務器後使用VNC客戶端遠程進行系統安裝	  +\n"
	printf "             +             VNC服務器地址:$IPADDRESS:1   	   	  +\n"
	printf "             +             VNC服務器密碼:$PASSWD                 +\n"
	printf "             ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"
	read anykey	
	
	exit
done		

4、運行結束後檢查運行結果

less /boot/grub/grub.conf

wKioL1c-x0ijWBzZAAA5JlRY6dI132.png

ll /boot/

wKiom1c-xqaTrH8LAAArqCod3Ow795.png

驗證成功後重啓服務器進行安裝

wKiom1c-x1DDWpAFAAAxaSuXbt8497.png

wKiom1c-x1GxGkv9AAK-NwXfFAA619.png

至此安裝完成

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章