微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

shell脚本:不登陆KVM虚拟机,修改虚拟机网卡IP地址

# 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
ifvirshdomstate$name|grep-qrunning;then
echo"修改虚拟机网卡数据,需要关闭虚拟机"
virshdestroy$name
fi
mountpoint="/media/virtimage"
[!-d$mountpoint]&&mkdir$mountpoint
echo"请稍后..."
ifmount|grep-q"$mountpoint";then
umount$mountpoint
fi
guestmount-d$name-i$mountpoint
read-p"请输入需要修改的网卡名称:"dev
read-p"请输入IP地址:"addr
#判断原本网卡配置文件中是否有IP地址,有,就修改该IP,没有,就添加一个新的IP地址
ifgrep-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=-vx=$addr'$2==x{print"完成..."}'$mountpoint/etc/sysconfig/network-scripts/ifcfg-$dev

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐