Skip to content

Instantly share code, notes, and snippets.

@tudo75
Forked from dv336699/vbox-backup.sh
Created February 23, 2020 19:37
Show Gist options
  • Save tudo75/c3d9b0c9f8bae33e28bb81692d56fc2e to your computer and use it in GitHub Desktop.
Save tudo75/c3d9b0c9f8bae33e28bb81692d56fc2e to your computer and use it in GitHub Desktop.
Backup Running VirtualBox VMs
#!/bin/sh
BASEFOLDER=/home/vbox/backups
for VMNAME in $(VBoxManage list runningvms | cut -d ' ' -f1 | sed 's/"//g;')
do
echo ""
VBoxManage controlvm "$VMNAME" acpipowerbutton
echo "Waiting for VM "$VMNAME" to poweroff..."
until $(VBoxManage showvminfo --machinereadable "$VMNAME" | grep -q ^VMState=.poweroff.)
do
sleep 1
done
echo "Exporting VM to $BASEFOLDER/$VMNAME-temp.ova..."
VBoxManage export "$VMNAME" -o "$BASEFOLDER/$VMNAME-temp.ova" --ovf20;
rm -rf "$BASEFOLDER/$VMNAME.ova"
mv "$BASEFOLDER/$VMNAME-temp.ova" "$BASEFOLDER/$VMNAME.ova"
echo "Restarting VirtualBox VM..."
VBoxManage startvm "$VMNAME" --type headless
echo ""
done
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment