
Over the weekend I wrote virt-back, a backup utility for QEMU, KVM, XEN, or Virtualbox guests.
virt-back is a python application that uses the libvirt API to safely shutdown, gzip, and restart guests.
The backup process logs to syslog for auditing and virt-back works great with cron for scheduling outages. Virt-back is in active development so feel free to give suggestions or branch the source.
virt-back has been placed in the public domain and the latest version may be downloaded here:
Installation
The fastest way to install virt-back is to use pip or setuptools.
Try sudo pip install virt-back or sudo easy_install virt-back
Otherwise you may manually install virt-back
sudo wget https://git.unturf.com/python/virt-back/raw/branch/master/virt-back \ -O /usr/local/bin/virt-back
sudo chmod 755 /usr/local/bin/virt-back
Test installation
virt-back --help
Example cronjob
15 2 * * 1 /usr/local/bin/virt-back --quiet --backup sagat 15 23 * * 5 /usr/local/bin/virt-back --quiet --backup mbison
Manual
russell@host:~$ virt-back --help
Usage: virt-back [options]
Options:
-h, --help show this help message and exit
-q, --quiet prevent output to stdout
-d, --date append date to tar filename [default: no date]
-g, --no-gzip do not gzip or tar the resulting files
-a amount, --retention=amount
backups to retain [default: 3]
-p 'PATH', --path='PATH'
backup path [default: '/KVMBACK']
-u 'URI', --uri='URI'
optional hypervisor uri
Actions for info testing:
These options display info or test a list of guests.
-i, --info info/test a list of guests (space delimited dom names)
--info-all attempt to show info on ALL guests
Actions for a list of dom names:
WARNING: These options WILL bring down guests!
-b, --backup backup a list of guests (space delimited dom names)
-r, --reboot reboot a list of guests (space delimited dom names)
-s, --shutdown shutdown a list of guests (space delimited dom names)
-c, --create start a list of guests (space delimited dom names)
Actions for all doms:
WARNING: These options WILL bring down ALL guests!
--backup-all attempt to shutdown, backup, and start ALL guests
--reboot-all attempt to shutdown and then start ALL guests
--shutdown-all attempt to shutdown ALL guests
--create-all attempt to start ALL guests