1. 给所有虚拟机创建快照
#!/bin/bash
# ---------------------- 给所有虚拟机创建快照 ------------------------#
# create-kvm-snapshot.sh
# mkdir /opt/kvm -p
# mkdir -p /data/log/kvm/
# 每天凌晨1:00执行
# crontab -e
# 0 1 * * * sh /opt/kvm/create-kvm-snapshot.sh >> /data/log/kvm/create-kvm-snapshot.log
echo "create-kvm-snapshot.sh start at `date`"
create_date=`date +%Y%m%d`
# 打印从第三行至最后一行, 打印时将每行的连续空格合并为一个空格
# 解释:
# <3,$>: 代表从第3行开始到最后一行;
# <s/[ ][ ]*/ /g>: 合并连续空格
# <p>: 打印
# <tr "\n" " ">: 去除换行符, 变多行为一行
kvm=`virsh list --all | sed -n '3,$s/[ ][ ]*/ /gp' | cut -d ' ' -f3 | tr "\n" " "`
echo $kvm
for vm_name in ${kvm[*]}
do
echo $vm_name
# 创建快照
# virsh snapshot-create-as gitlab-vm --name gitlab-vm-`date +%Y%m%d%H%M%S`
virsh snapshot-create-as $vm_name --name $vm_name$create_date
done
echo "create-kvm-snapshot.sh end at `da