2015-07-03

Пример скрипта для Live Backup VM on XenServer

Скрипт проверен на версии Citrix XenServer 6.2.
Главное правильно определить переменные, остальное все будет сделано автоматом.

# BackUp Virtual Machine
# Citrix XenServer 6.2
# Nuance 1: XenServer Tools are not needed on the VM

export REMOTEHOST=120.71.111.41
export REMOTEDIR=vm
export REMOTEUSER=ksjhfksjdhfk
export REMOTEPASSWD=kdsfksdhfkjsdhfkhf
export VMNAME=xs62rectest
export VMSPEC=xs62_snap_xen10
export CURDATE=$(date +%Y-%m-%d.%H.%M.%S)
export MOUNTPOINT=/mnt/backup$VMNAME
export VMFILENAME=$VMNAME-$VMSPEC-$CURDATE

echo $(date +%Y-%m-%d.%H.%M.%S): START backup VM $VMNAME
echo $(date +%Y-%m-%d.%H.%M.%S): STEP: mkdir $MOUNTPOINT
mkdir $MOUNTPOINT -p
echo $(date +%Y-%m-%d.%H.%M.%S): STEP: mount //$REMOTEHOST/$REMOTEDIR to $MOUNTPOINT
mount -t cifs "//$REMOTEHOST/$REMOTEDIR" -o username=$REMOTEUSER,password=$REMOTEPASSWD $MOUNTPOINT
echo $(date +%Y-%m-%d.%H.%M.%S): STEP: creating snapshot
export SNAPUUID=`xe vm-snapshot vm=$VMNAME new-name-label=$VMFILENAME.snapshot`
echo $(date +%Y-%m-%d.%H.%M.%S): DONE: spapshot uuid = $SNAPUUID
echo $(date +%Y-%m-%d.%H.%M.%S): STEP: converting snapshot to VM
xe template-param-set is-a-template=false ha-always-run=false uuid=$SNAPUUID
echo $(date +%Y-%m-%d.%H.%M.%S): STEP: exporting snapshot to $MOUNTPOINT/$VMFILENAME.xva.gz
xe vm-export vm=$SNAPUUID compress=true filename=$MOUNTPOINT/$VMFILENAME.xva.gz
echo $(date +%Y-%m-%d.%H.%M.%S): STEP: deleting snapshot
xe vm-uninstall uuid=$SNAPUUID force=true
echo $(date +%Y-%m-%d.%H.%M.%S): STEP: umount -l $MOUNTPOINT
umount -l $MOUNTPOINT
echo $(date +%Y-%m-%d.%H.%M.%S): FINISH backup VM $VMNAME

Комментариев нет: