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

  • 2019 年 10 月 5 日
  • 笔记

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.当用户输入参数存在时: