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  ,如需转载请自行联系原作者

相关文章
|
8天前
|
Ubuntu Shell 网络安全
安装了ubuntu虚拟机后发现shell无法连接 ubuntu开启ssh连接
【8月更文挑战第23天】安装了ubuntu虚拟机后发现shell无法连接
46 6
|
9天前
|
Java Shell Linux
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
关于如何使用Shell脚本来解析Linux系统中的应用服务日志,提供了脚本实现的详细步骤和技巧,以及一些Shell编程的技能扩展。
14 0
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
|
10天前
|
监控 Shell Linux
在Linux中,如何使用shell脚本进行系统监控和报告?
在Linux中,如何使用shell脚本进行系统监控和报告?
|
10天前
|
Shell Linux
在Linux中,shell脚本中的条件语句和循环结构是什么?
在Linux中,shell脚本中的条件语句和循环结构是什么?
|
8天前
|
存储 Shell 数据安全/隐私保护
minio一键安装脚本分享(shell和python)
minio一键安装脚本分享(shell和python)
27 0
|
8天前
|
关系型数据库 Shell 数据库
postgres14一键安装脚本分享(shell和python)
postgres14一键安装脚本分享(shell和python)
11 0
|
8天前
|
监控 Shell Linux
在Linux中,如何使用shell脚本检测磁盘使用率?
在Linux中,如何使用shell脚本检测磁盘使用率?
|
8天前
|
Shell Linux 开发工具
在Linux中,如何编写shell脚本将当前目录下大于10K的文件转移到/tmp目录下?
在Linux中,如何编写shell脚本将当前目录下大于10K的文件转移到/tmp目录下?
|
8天前
|
Unix Shell Linux
在Linux中,什么是Shell脚本,并且如何编写它。
在Linux中,什么是Shell脚本,并且如何编写它。
|
10天前
|
机器学习/深度学习 监控 Linux
在Linux中,如何创建和管理KVM虚拟机?
在Linux中,如何创建和管理KVM虚拟机?
下一篇
云函数