PHP脚本管理kvm,kvm管理脚本

#!/bin/bash

#  此脚本为管理KVM虚拟机

dir=/data/kvm

xml=/etc/libvirt/qemu

if [ $# -lt 1 ];then

echo "脚本用法:"

echo "$0 clone [kvmname1,kvmname2....] #克隆虚拟机"

echo "$0 start [kvmname1,kvmname2....] #开启虚拟机"

echo "$0 destroy [kvmname1,kvmname2....] #关闭虚拟机"

echo "$0 undefine [kvmname1,kvmname2....] #删除虚拟机"

exit 250

else

case $1 in

clone)

for i in `echo $2|sed 's/,/ /g'`

do

old_kvm=`virsh list --all|awk '{if($0!~/Name/&&$NF!=running){print $2}}'|grep -v "^$"|head -1`

virt-clone -o $old_kvm -n $i -f ${dir}/${i}.img

####修改vnc端口

port=$(grep ".*vnc.*port='[0-9]\+'" /etc/libvirt/qemu/${i}.xml|grep -o '[0-9]\{4\}')

sum=$(virsh list --all|awk '{print $2}'|grep -Ev "^$|Name"|wc -l)

let new_port=$port+$sum+1

sed -i "s/${port}/${new_port}/g" ${xml}/${i}.xml

####重新定义域

virsh define ${xml}/${i}.xml

shift

done ;;

start)

for i in `echo $2|sed 's/,/ /g'`

do

virsh start $i

shift

done ;;

destroy)

for i in `echo $2|sed 's/,/ /g'`

do

virsh destroy $i

shift

done ;;

undefine)

for i in `echo $2|sed 's/,/ /g'`

do

virsh undefine $i

rm -rf $dir/${i}.img

shift

done ;;

esac

fi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值