这里写目录标题
脚本功能
创建一个总目录列出列出脚本功能并通过source来其它对脚本进行调取
vim kvm_vm.sh
while :
do
cat <<-EOF
--------------------------------
1.查看虚拟机
2.安装虚拟机
3.为虚拟机添加设备
4.虚拟机快照管理
5.任意键退出
-------------------------------
EOF
read -p "input a num :" num
case $num in
1)
#调取查看虚拟机的脚本
source ./vm_info.sh
;;
2)
source ./create-vm.sh
;;
3)
source ./add_facility.sh
;;
4)
source ./snap.sh
;;
*)
break
esac
done
1 查看虚拟机
vim vm_info.sh
name(){
read -p "输入虚拟机名称 :" name
}
while :
do
cat <<-EOF
------------------------
1.列出所有的虚拟机
2.查看指定虚拟机的元数据信息
3.查看指定虚拟机的ip地址
4.启动虚拟机
5.关闭虚拟机
6.强制关机
7.重启虚拟机
8.任意键返回上级目录
------------------------
EOF
read -p "input a num :" num
case $num in
1)
virsh list --all
;;
2)
name
virsh dominfo $name
;;
3)
name
virsh doinfaddr $name
;;
4)
name
virsh start $name
;;
5)
name
virsh shutdown $name
;;
6)
name
virsh destroy $name
;;
7)
name
virsh reboot $name
;;
*)
break
;;
esac
done
1.1 列出所有虚拟机
virsh dominfo $name
1.2 查看指定虚拟机的元数据信息
virsh dominfo $name
1.3 查看指定虚拟机的ip地址
virsh doinfaddr $name
1.4 启动虚拟机
virsh start $name
1.5 关闭虚拟机
virsh shutdown $name
1.6 强制关机
virsh destroy $name
1.7 重启虚拟机
virsh reboot $name
2 安装虚拟机
vim create-vm.sh
while :
do
cat <<-EOF
----------------------------
1.全新安装
2.模板安装
3.任意键返回上级菜单
----------------------------
EOF
read -p "input a num :" num
case $num in
1)
source ./fresh-create.sh
;;
2)
source ./template-create.sh
;;
*)
break
;;
esac
done
2.1 全新安装
vim fresh-create.sh
set -ue
set -o pipefail
#创建相关目录
#定义相关变量
kvm_home=/home/kvm
kvm_iso=$kvm_home/iso/CentOS-7-x86_64-Minimal-1708.iso
kvm_ks_file=$kvm_home/ks/ks.cfg
kvm_disk=$kvm_home/virtualdisk
#设置默认值
def_vm_name="centos$(date +%Y-%m-%d" "%H:%M:%S)"
def_mem_size=1024
def_vcpus=1
def_disk_size=10G
#用户交互获取变量值
echo "输入KVM虚拟机名称"
echo "输入想要创建的服务器主机名 "
read -p "默认值为localhost :" host_name
echo "输入虚拟机cpu核心数"
read -p "默认值为1 :" vcpus
echo "输入虚拟机内存大小 默认1024M"
read -p "不需要输入单位 :" mem_size
while :
do
echo "输入虚拟机使用的磁盘容量"
read -p "默认 10G,[示例写法:15G]:" disk_size
echo "格式不正确"
continue
else
break
fi
done
vm_nam