VMware vSphere 通过模板创建虚拟机后修改MAC地址脚本

#!/bin/bash
####################
#Author:jncheng   #
#Vsersion:20150402 #
####################

source /etc/profile
######################################################################################################
#
#List the system eth‘s Mac-address
######################################################################################################

echo "This MAC-Address is in file /etc/udev/rules.d/70-persistent-net.rules"

i=0
while [ $i -lt 5 ]
 do
 grep  eth$i /etc/udev/rules.d/70-persistent-net.rules > /root/mac.txt

   if [ $? = 0 ]; then
      HWADDR2=$(awk ‘{print $4}‘ /root/mac.txt |awk -F == ‘{print $2}‘ |awk -F \" ‘{print $2}‘)
      ETHNUM=$(awk ‘{print $7}‘ mac.txt |awk -F = ‘{print $2}‘ |awk -F \" ‘{print $2}‘)
      echo "$ETHNUM MAC is  $HWADDR2"
   else
   echo "Can‘t find other eth"
   break
   fi
 i=$[i+1]
 done
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
echo ""
###这里将模板宿主机的物理地址显示出来,告诉这个MAC地址是不可用的。因为通过虚拟主机克隆模板时,宿主机上之前的网卡MAC地址是会保存在模板中的。根据真实的模板中的MAC地址修改吧。
echo "MAC-Address 00:50:56:ae:80:b8 Can‘t Use!!!!!!!!!!!!!!!!!!!!"
echo ""

#########################################################################################################
#Modify the IP and MAC addresss                                                                         #
#########################################################################################################

read -p "Please input which eth number you will modify(0-4):" input_ethnum

grep  -vi 00:50:56:AE:80:B8 /etc/udev/rules.d/70-persistent-net.rules |grep eth$input_ethnum > /root/mac.txt


ethnumber=$(awk ‘{print $7}‘ mac.txt |awk -F = ‘{print $2}‘ |awk -F \" ‘{print $2}‘)


read -p "Please Input IP:" IP
read -p "Please Input Gateway:" GATE
read -p "Please Input Prefix:" PRE


cd /etc/sysconfig/network-scripts

if [ -e ifcfg-eth0 ]; then

grep -v ^IPADDR ifcfg-eth0  |grep -v ^ONBOOT|grep -v ^NAME |grep -v ^DEVICE |grep -v ^PREFIX |grep -v ^GATEWAY |grep -v ^HWADDR > /root/ifcfg.txt

else

grep -v ^IPADDR ifcfg-eth1  |grep -v ^ONBOOT|grep -v ^NAME |grep -v ^DEVICE |grep -v ^PREFIX |grep -v ^GATEWAY |grep -v ^HWADDR > /root/ifcfg.txt

fi



sed -i ‘3a\GATEWAY=‘$GATE‘‘    /root/ifcfg.txt
sed -i ‘3a\PREFIX=‘$PRE‘‘    /root/ifcfg.txt
sed -i ‘3a\IPADDR=‘$IP‘‘     /root/ifcfg.txt
sed -i ‘1a\DEVICE=‘$ethnumber‘‘     /root/ifcfg.txt
sed -i ‘1a\ONBOOT=yes‘     /root/ifcfg.txt

HWADDR=$(awk ‘{print $4}‘ /root/mac.txt |awk -F == ‘{print $2}‘ |awk -F \" ‘{print $2}‘)



sed -i ‘3a\HWADDR=‘$HWADDR‘‘    /root/ifcfg.txt

cp ifcfg-$ethnumber ifcfg-$ethnumber.bak
cp /root/ifcfg.txt  ifcfg-$ethnumber

echo "Restart the networking... "

service network restart&&echo "Modify is scuefull"||echo "Modify is failed"

本文出自 “什么也没有留下” 博客,请务必保留此出处http://3357278.blog.51cto.com/3347278/1627689

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。