VirtualBox Backup
List VMs
vboxmanage list vms
vboxmanage list runningvms
Backup Script
This script exports all VMs to OVA format:
#!/bin/bash
BACKUP_DIR="/backup/virtualbox"
DATE=$(date +%Y%m%d)
mkdir -p "$BACKUP_DIR/$DATE"
# Get list of all VMs
vboxmanage list vms | awk '{print $1}' | tr -d '"' | while read vm; do
echo "Exporting $vm..."
vboxmanage export "$vm" \
--output "$BACKUP_DIR/$DATE/${vm}.ova" \
--ovf20
echo "Done: $vm"
done
echo "Backup complete: $BACKUP_DIR/$DATE"
Export a Single VM to OVA
# Export
vboxmanage export "VM Name" --output /backup/vm-name.ova
# Export with OVF 2.0 format
vboxmanage export "VM Name" --output /backup/vm-name.ova --ovf20
Import OVA
# Dry run (show what would be imported)
vboxmanage import vm.ova --dry-run
# Import
vboxmanage import vm.ova
# Import with custom settings
vboxmanage import vm.ova \
--vsys 0 \
--vmname "New VM Name" \
--memory 2048 \
--cpus 2