configpolicy/scripts/migrate-all.sh

29 lines
562 B
Bash
Executable File

#!/bin/sh
# vim: set sw=4 ts=4 sts=4 et :
list_vms() {
if [ $# -gt 0 ]; then
echo "$@" | xargs -n1
else
virsh list --name
fi
}
src=$1
shift 2>&-
dest=$1
shift 2>&-
if [ -z "${src}" ] || [ -z "${dest}" ]; then
printf 'usage: %s source_uri dest_uri [name [...]]\n' "${0##*/}"
exit 2
fi
export LIBVIRT_DEFAULT_URI="${src}"
list_vms "$@" | while read name; do
[ -n "${name}" ] || continue
printf 'Migrating %s ...\n' "${name}"
virsh migrate "${name}" "${dest}" --live --persistent --undefinesource --verbose
done