码迷,mamicode.com
首页 > 系统相关 > 详细

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

时间:2019-10-05 22:42:53      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:没有   define   cti   done   qemu   xml文件   UNC   ==   for   

shell脚本一键创建虚拟机

代码如下:

#!/bin/bash
name=$1 #把位置变量$1重新定义为name(创建虚拟机的名字)
path1=/var/lib/libvirt/images/ #img存放路径
path2=/etc/libvirt/qemu/ #xml文件存放路径
function createkvm { #将创建虚拟机的命令定义为createkvm函数
  qemu-img create -f qcow2 -b ${path1}jrjs.img ${path1}${name}.img #根据后端模板jrjs.img文件创建一个新的镜像盘文件
  sed -e "s/jrjs/${name}/" ${path1}jrjs.xml > ${path2}${name}.xml #修改后端原始jrjs.xml文件重定向到一个新的xml文件
  virsh define ${path2}${name}.xml #定义xml文件
}
if [ $# == 0 ];then #判断用户是否输入参数
  echo "该脚本运行需要参数,如$0 test1 test2" #如果没有输入参数则返回“ ”的值
elif [ -e ${path1}${name}.img ];then #判断用户输入参数是否存在
  echo "该虚拟机名称已经存在!" #如果存在则返回“ ”的值
else
  for i in $* #若输入参数则将所有的参数开始循环($*代表所以位置变量的值)
    do
      createkvm $i #调用定义好的创建虚拟机函数,开始根据参数循环创建
    done
fi

  上述代码运行结果:

1.当用户没有输入参数时:

技术图片

 

 2.当用户输入参数时:

技术图片

3.当用户输入参数存在时:

技术图片

 

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

标签:没有   define   cti   done   qemu   xml文件   UNC   ==   for   

原文地址:https://www.cnblogs.com/jrjs/p/11625802.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!