Files
VirtualboxVMBackup/vmbackup.sh
2022-06-01 09:41:10 +02:00

44 lines
1.1 KiB
Bash
Executable File

#! /bin/bash
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
fi
outputdir=${outputdir}/$(date -I)
mkdir -p ${outputdir}
if [ $# -ne 1 ] ; then
echo "Usage: $O vm"
echo "Stop, backup and start given vm"
_exit 42
fi
function checkRunning {
local machine=$1
vboxmanage list runningvms | grep -q $machine
return $?
}
machine=$1
if ( checkRunning $machine ) ; then
vboxmanage controlvm $machine acpipowerbutton shutdown
sleep 60
rsync --inplace -a /srv/VM/Win/roofline ${outputdir}/
ret=$?
vboxmanage startvm $machine
_exit $ret
fi
_exit 43