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

简介:

# Author:丁丁历险(Jacob) 

# 该脚本使用 guestmount 工具,Centos7.2 中安装 libguestfs-tools-c 可以获得 guestmount 工具 

# 脚本在不登陆虚拟机的情况下,修改虚拟机的 IP 地址信息 

# 在某些环境下,虚拟机没有 IP 或 IP 地址与真实主机不在一个网段 

# 真实主机在没有 virt-mange 图形的情况下,远程连接虚拟机很麻烦 

# 该脚本可以解决类似的问题


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
#!/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

























本文转自丁丁历险51CTO博客,原文链接:http://blog.51cto.com/manual/1961344  ,如需转载请自行联系原作者

相关文章
|
4天前
|
监控 Shell Linux
Linux的Shell脚本详解
Linux的Shell脚本详解
|
8天前
|
Shell
shell脚本
shell脚本
13 2
|
16天前
|
Ubuntu Java Linux
Linux centos7 ubuntu 一键安装Java JDK 脚本 shell 脚本
Linux centos7 ubuntu 一键安装Java JDK 脚本 shell 脚本
|
16天前
|
Shell Linux
shell linux中shell脚本编写俄罗斯方块
shell linux中shell脚本编写俄罗斯方块
|
17天前
|
Shell Linux Perl
Linux shell脚本sed使用
Linux shell脚本sed使用
|
16天前
|
Ubuntu Shell Linux
linux shell 后台执行脚本的方法 脚本后台运行 后台运行程
linux shell 后台执行脚本的方法 脚本后台运行 后台运行程
|
16天前
|
监控 Shell Linux
shell linux中用shell写一个占用CPU的脚本
shell linux中用shell写一个占用CPU的脚本
|
17天前
|
Shell Linux
linux shell 脚本实现:根据文件内容中的每行分隔符放入数组,根据规则打印日志并重新创建目录 备份文件
linux shell 脚本实现:根据文件内容中的每行分隔符放入数组,根据规则打印日志并重新创建目录 备份文件
|
17天前
|
Shell Linux BI
linux shell脚本中 if 条件判断
linux shell脚本中 if 条件判断
|
17天前
|
Shell Linux
linux shell脚本字符串 字段分隔符 存入数组 根据下标取值
linux shell脚本字符串 字段分隔符 存入数组 根据下标取值