Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- NFS_SHARE=/mnt/nfs
- CONTROL_DOMAIN=`xe vm-list is-control-domain=true | grep -i -B1 control | grep uuid | sed -e 's/[^:]*: //'`
- function export_ALL
- {
- if [ -z $SPECIFIC_VM ]; then
- ALL_VMS=`xe vm-list is-a-snapshot=false is-control-domain=false | grep uuid | sed -e 's/[^:]*: //'`
- AVAILABLE_VMS=`xe vm-list is-a-snapshot=false is-control-domain=false | grep name | sed -e 's/[^:]*: //' | grep -iv control`
- else
- SPECIFIC_VM="(${SPECIFIC_VM/,/|})"
- ALL_VMS=`xe vm-list is-a-snapshot=false is-control-domain=false | egrep -B1 $SPECIFIC_VM | grep uuid | sed -e 's/[^:]*: //'`
- AVAILABLE_VMS=`xe vm-list is-a-snapshot=false is-control-domain=false | egrep $SPECIFIC_VM | sed -e 's/[^:]*: //' | grep -iv control`
- fi
- echo "About to export the following VM's..."
- for VM_NAME in $AVAILABLE_VMS
- do
- echo $VM_NAME
- done
- if [ ! -d $NFS_SHARE ]; then
- mkdir -p $NFS_SHARE
- fi
- #mount -t cifs -o username=windows_user,password=windows_password //windowsIP/Windowsshare/ $NFS_SHARE
- for uuid in $ALL_VMS
- do
- UUID2NAME=`xe vm-list | grep -A1 $uuid | grep name | sed -e 's/[^:]*: //'`
- SNAPUUID=`xe vm-snapshot vm=$uuid new-name-label=$UUID2NAME-backup`
- xe template-param-set is-a-template=false uuid=$SNAPUUID
- xe vm-export vm=$SNAPUUID filename=$NFS_SHARE/"$UUID2NAME".xva >/dev/null 2>&1
- #tar czf - $NFS_SHARE/"$UUID2NAME".xva | gzip -c > $NFS_SHARE/"$UUID2NAME".tgz
- tar czf $NFS_SHARE/"$UUID2NAME".tar.gz $NFS_SHARE/"$UUID2NAME".xva
- rm -f $NFS_SHARE/"$UUID2NAME".xva
- xe vm-uninstall uuid=$SNAPUUID force=true
- done
- cd ~
- umount -f $NFS_SHARE
- exit 0
- }
- function check_exit
- {
- if [ $? -gt 0 ]; then
- echo "An error has occured, exiting."
- exit 1
- fi
- }
- while getopts ":-m:-l:" option
- do
- case $option in
- m)SPECIFIC_VM=$OPTARG
- ;;
- *)
- echo "-m) Specify multiple VM's to move seperated by a comma."
- exit 1
- ;;
- esac
- done
- if [ -z "$SPECIFIC_VM" ]; then
- export_ALL
- exit 0
- else
- export_ALL
- exit 0
- fi
- exit 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement