diff options
Diffstat (limited to 'examples/domsave.py')
-rwxr-xr-x | examples/domsave.py | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/examples/domsave.py b/examples/domsave.py new file mode 100755 index 0000000..bac4536 --- /dev/null +++ b/examples/domsave.py @@ -0,0 +1,40 @@ +#!/usr/bin/env python +# domstart - make sure a given domU is running, if not start it + +import libvirt +import sys +import os +import libxml2 +import pdb + +def usage(): + print 'Usage: %s DIR' % sys.argv[0] + print ' Save all currently running domU\'s into DIR' + print ' DIR must exist and be writable by this process' + +if len(sys.argv) != 2: + usage() + sys.exit(2) + +dir = sys.argv[1] + +conn = libvirt.open(None) +if conn is None: + print 'Failed to open connection to the hypervisor' + sys.exit(1) + +doms = conn.listDomainsID() +for id in doms: + if id == 0: + continue + dom = conn.lookupByID(id) + print "Saving %s[%d] ... " % (dom.name(), id), + sys.stdout.flush() + path = os.path.join(dir, dom.name()) + ret = dom.save(path) + if ret == 0: + print "done" + else: + print "error %d" % ret + +#pdb.set_trace() |