diff --git a/vmbackup.sh b/vmbackup.sh index fd8a6db..96b6c64 100755 --- a/vmbackup.sh +++ b/vmbackup.sh @@ -3,10 +3,17 @@ set -e set -u +statusfile=/var/run/zabbix/vmbackup.status outputdir=/mnt/backups/vms + +_exit () { + echo $1 > $outputdir + exit $1 +} + if [ ! -d $outputdir ] ; then echo outputdir not mounted - exit 41 + _exit 41 fi outputdir=${outputdir}/$(date -I) @@ -15,7 +22,7 @@ mkdir -p ${outputdir} if [ $# -ne 1 ] ; then echo "Usage: $O vm" echo "Stop, backup and start given vm" - exit 42 + _exit 42 fi function checkRunning { @@ -28,9 +35,9 @@ machine=$1 if ( checkRunning $machine ) ; then vboxmanage controlvm $machine acpipowerbutton shutdown sleep 60 - echo rsync -a /srv/VM/Win/roofline ${outputdir}/ + rsync --inplace -a /srv/VM/Win/roofline ${outputdir}/ ret=$? - vboxmanager start $machine - exit $ret + vboxmanage startvm $machine + _exit $ret fi -exit 43 +_exit 43