#!/bin/bash # Create a backup of the disk image of the virtual machine QEMU_IMG=${kvm-instance:qemu-img-path} SNAPSHOT_NAME=$(date +%s) DISK_PATH=${kvm-instance:disk-path} BACKUP_PATH=${:backup-disk-path} QMP_CLIENT=${buildout:directory}/software_release/bin/qemu-qmp-client if [ ! -f $DISK_PATH ]; then echo "Nothing to backup, disk image doesn't exist yet." exit 0; fi $QMP_CLIENT ${kvm-instance:socket-path} suspend && \ $QEMU_IMG snapshot -c $SNAPSHOT_NAME $DISK_PATH $QMP_CLIENT ${kvm-instance:socket-path} resume if [ -f $BACKUP_PATH ]; then rm $BACKUP_PATH fi $QEMU_IMG convert -f qcow2 -O qcow2 -s $SNAPSHOT_NAME $DISK_PATH $BACKUP_PATH $QMP_CLIENT ${kvm-instance:socket-path} suspend && \ $QEMU_IMG snapshot -d $SNAPSHOT_NAME $DISK_PATH $QMP_CLIENT ${kvm-instance:socket-path} resume