1. 程式人生 > >shell腳本:不登陸KVM虛擬機,修改虛擬機網卡IP地址

shell腳本:不登陸KVM虛擬機,修改虛擬機網卡IP地址

虛擬機 腳本 kvm sehll

# Author:丁丁歷險(Jacob)

# 該腳本使用 guestmount 工具,Centos7.2 中安裝 libguestfs-tools-c 可以獲得 guestmount 工具

# 腳本在不登陸虛擬機的情況下,修改虛擬機的 IP 地址信息

# 在某些環境下,虛擬機沒有 IP 或 IP 地址與真實主機不在一個網段

# 真實主機在沒有 virt-mange 圖形的情況下,遠程連接虛擬機很麻煩

# 該腳本可以解決類似的問題


#!/bin/bash
#Author:丁丁歷險(Jacob)
#該腳本使用guestmount工具,Centos7.2中安裝libguestfs-tools-c可以獲得guestmount工具
#腳本在不登陸虛擬機的情況下,修改虛擬機的IP地址信息
#在某些環境下,虛擬機沒有IP或IP地址與真實主機不在一個網段
#真實主機在沒有virt-mange圖形的情況下,遠程連接虛擬機很麻煩
#該腳本可以解決類似的問題
read -p "請輸入虛擬機名稱:" name
if virsh domstate $name|grep -q running ;then
       echo "修改虛擬機網卡數據,需要關閉虛擬機"
       virsh destroy $name
fi
mountpoint="/media/virtimage"
[ ! -d $mountpoint]&& mkdir $mountpoint
echo "請稍後..."
if mount | grep -q"$mountpoint" ;then
       umount $mountpoint
fi
guestmount  -d $name -i $mountpoint
read -p "請輸入需要修改的網卡名稱:"dev
read -p "請輸入IP地址:" addr
#判斷原本網卡配置文件中是否有IP地址,有,就修改該IP,沒有,就添加一個新的IP地址
if grep -q"IPADDR"  $mountpoint/etc/sysconfig/network-scripts/ifcfg-$dev;then
   sed -i "/IPADDR/s/=.*/=$addr/"  $mountpoint/etc/sysconfig/network-scripts/ifcfg-$dev
else
   echo "IPADDR=$addr" >>  $mountpoint/etc/sysconfig/network-scripts/ifcfg-$dev
fi
#如果網卡配置文件中有客戶配置的IP地址,則腳本提示修改IP完成
awk -F= -v x=$addr ‘$2==x{print "完成..."}‘ $mountpoint/etc/sysconfig/network-scripts/ifcfg-$dev


本文出自 “丁丁歷險” 博客,請務必保留此出處http://manual.blog.51cto.com/3300438/1961344

shell腳本:不登陸KVM虛擬機,修改虛擬機網卡IP地址