# 該指令碼使用 guestmount 工具,可以將虛擬機器的磁碟系統掛載到真實機檔案系統中
# Centos7.2 中安裝 libguestfs-tools-c 可以獲得 guestmount 工具
# 虛擬機器可以啟動或者不啟動都不影響該指令碼的使用
# 將虛擬機器磁碟檔案掛載到檔案系統後,就可以直接讀取磁碟檔案中的網路卡配置檔案中的資料該指令碼使用 guestmount 工具,可以將虛擬機器的磁碟系統掛載到真實機檔案系統中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

#!/bin/bash
#該指令碼使用 guestmount 工具,可以將虛擬機器的磁碟系統掛載到真實機檔案系統中
#Centos7.2 中安裝 libguestfs-tools-c 可以獲得 guestmount 工具
#虛擬機器可以啟動或者不啟動都不影響該指令碼的使用
#將虛擬機器磁碟檔案掛載到檔案系統後,就可以直接讀取磁碟檔案中的網路卡配置檔案中的資料
clear
mountpoint=”/wp-content/uploads/sites/3/media/virtimage”
[ ! -d $mountpoint]&& mkdir $mountpoint
read -p “ 輸入虛擬機器名稱:” name
echo “ 請稍後…”
#如果有裝置掛載到該掛載點,則先 umount 解除安裝
if mount | grep -q”$mountpoint” ;then
       umount $mountpoint
fi
#只讀的方式,將虛擬機器的磁碟檔案掛載到特定的目錄下,這裡是/media/virtimage 目錄
guestmount -r -d $name -i$mountpoint
echo
echo”——————————————–”
echo -e “33[32m$name 虛擬機器中網路卡列表如下:33[0m”
dev=$(ls /media/virtimage/etc/sysconfig/network-scripts/ifcfg-*|awk -F”[/-]” ‘{print $9}’)
echo $dev
echo”——————————————–”
 
echo
echo
echo”+++++++++++++++++++++++++++++++++++++++++++”
echo -e “33[32m 網路卡 IP 地址資訊如下:33[0m”
for i in $dev
do
       echo -n “$i:”
       grep -q “IPADDR”/media/virtimage/etc/sysconfig/network-scripts/ifcfg-$i || echo “ 未配置 IP 地址”
       awk -F= ‘/IPADDR/{print $2}’/media/virtimage/etc/sysconfig/network-scripts/ifcfg-$i
done
echo “+++++++++++++++++++++++++++++++++++++++++++”