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天前
|
Java 关系型数据库 MySQL
Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
【4月更文挑战第12天】Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
30 3
|
1天前
|
监控 Shell 应用服务中间件
第十二章 Shell脚本编写及常见面试题(二)
第十二章 Shell脚本编写及常见面试题(二)
|
1天前
|
监控 关系型数据库 Shell
第十二章 Shell脚本编写及常见面试题(一)
第十二章 Shell脚本编写及常见面试题(一)
|
2天前
|
监控 Shell
生产环境Shell脚本Ping监控主机是否存活(多种方法)
生产环境Shell脚本Ping监控主机是否存活(多种方法)
|
2天前
|
运维 Shell
Shell脚本判断IP是否合法性(多种方法)
Shell脚本判断IP是否合法性(多种方法)
|
3天前
|
运维 Linux KVM
KVM详解(六)——KVM虚拟机快照
KVM详解(六)——KVM虚拟机快照
6 0
|
3天前
|
运维 Linux KVM
KVM详解(五)——KVM虚拟机镜像格式
KVM详解(五)——KVM虚拟机镜像格式
10 0
|
8天前
|
运维 监控 Shell
利用Shell脚本编写局域网监控软件:实时监测主机连接情况
本文介绍了如何使用Shell脚本创建一个局域网监控工具,以实时检查主机连接状态。脚本包括扫描IP地址范围检测主机可达性及使用`netstat`监控ESTABLISHED连接。此外,还展示了如何每60秒将连接数数据自动提交到指定网站API,以便实时跟踪网络活动。这个自动化监控系统有助于提升网络安全性和故障排查效率。
32 0
|
9天前
|
Linux KVM 数据库
虚拟机数据恢复—误删除KVM虚拟机的数据恢复案例
虚拟化数据恢复环境&故障: KVM是Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux2.6.20版本之后集成在Linux的各个主要发行版本中。KVM使用Linux自身的调度器进行管理。 本案例中的服务器操作系统为Linux,文件系统为EXT4。操作系统上的部署的几台KVM虚拟机被删除,每台KVM虚拟机包含一个qcow2格式的磁盘文件和一个raw格式的磁盘文件,用户需要恢复的数据是raw格式的磁盘文件。这几台被误删除的虚拟机存放的是数据库,程序代码等数据。
|
9天前
|
Shell
Shell脚本之流程控制语句
Shell脚本之流程控制语句