30 lines
		
	
	
		
			799 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			799 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
#!/bin/bash
 | 
						|
# GENERATED BY CHEF
 | 
						|
# DO NOT EDIT
 | 
						|
set -e
 | 
						|
 | 
						|
REPOSITORY=$BORG_REPO
 | 
						|
 | 
						|
echo "Starting backup of VM: $1"
 | 
						|
 | 
						|
echo "Dumping domain XML to /root/backups/vm_meta/$1.xml"
 | 
						|
virsh dumpxml --migratable $1 > /root/backups/vm_meta/$1.xml
 | 
						|
 | 
						|
virsh snapshot-create-as --domain $1  \
 | 
						|
        --name hotswap.qcow2  \
 | 
						|
        --no-metadata         \
 | 
						|
        --atomic              \
 | 
						|
        --quiesce             \
 | 
						|
        --disk-only           \
 | 
						|
        --diskspec vda,snapshot=external
 | 
						|
 | 
						|
borg create -v $REPOSITORY::$1_$(date +%F_%H-%M) \
 | 
						|
        /var/lib/libvirt/images/$1.qcow2  \
 | 
						|
        /root/backups/vm_meta/$1.xml
 | 
						|
 | 
						|
echo "Pivoting base image back to original"
 | 
						|
virsh blockcommit $1 vda --pivot --base=/var/lib/libvirt/images/$1.qcow2
 | 
						|
 | 
						|
echo "Removing snapshot image"
 | 
						|
rm /var/lib/libvirt/images/$1.hotswap.qcow2
 |