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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
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地址的主要内容,如果未能解决你的问题,请参考以下文章

shell 脚本创建虚拟机 并配置网卡ip地址(两个脚本)

067_查看 KVM 虚拟机中的网卡信息(不需要进入启动或进入虚拟机)

kvm宿主机使用console登陆kvm虚拟机卡住解决办法

shell脚本编程《linux下kvm虚拟机的创建开启显示停止重置》

编写shell脚本实现一键创建KVM虚拟机

kvm虚拟化之kvm虚拟机控制台登陆