我正在寻找 shell 脚本来查找使用 KVM/VIRSH 创建的虚拟机的 IP 地址。
我使用以下步骤来获取它,但无法找到它。
- ping 范围内的 IP 地址
2.使用Virsh list 命令列出所有活动的VM
3.使用Virsh dumpxml域名并投影vm的xml
- 使用 grep 命令并获取 vm 的硬件地址
5.显示每个vm的硬件地址
现在我想再添加一个步骤,例如使用“arp -ne”获取特定硬件地址的 IP 地址
我无法弄清楚如何添加零件。
任何人都可以帮助我。
for i in {1..150}
do
ping -c 1 -n -q -r -t 1 -s 1 -W 1 192.168.1.$i > /dev/null &
done
for name in `virsh list | grep running | awk '{ print $2 }'`
do
# printf "\n$name\n "
arp -e | grep "`virsh dumpxml $name | grep "mac address"|sed "s/.*'\(.*\)'.*/\1/g"`" |
awk '{ printf $1 ; printf " " ; printf $3 "\n" }'
done
电流输出:
$ ./virshshell.sh
vm2 52:54:00:4b:7f:41
vm3 52:54:00:0e:4c:42
我期待的输出是
$ ./virshshell.sh
vm2 52:54:00:4b:7f:41 192.*.*.*
vm3 52:54:00:0e:4c:42 192.*.*.*