編寫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.當用戶輸入參數存在時: