Backup von VirtualBox VMs automatisieren

Veröffentlicht von

Auf meinem Home-Server läuft alles an Diensten in einer virtuellen Maschine. Soweit so gut. Natürlich sind regelmäßige und am Besten automatische Backups Pflicht. Hierzu muss die VM idealerweise heruntergefahren werden, das Backup erstellt werden und anschließend sollte die VM wieder gestartet werden.

Dazu habe ich mir eine kleine Batch-Datei geschrieben:

"c:\Program Files\Oracle\VirtualBox\vboxmanage.exe" controlvm UbuntuServer savestate
xcopy "C:\Users\da\VirtualBox VMs\UbuntuServer\*" e:\backup_vm\%date%\* /Y /S
"c:\Program Files\Oracle\VirtualBox\vboxmanage.exe" startvm UbuntuServer

VirtualBox erlaubt das Steuern der virtuellen Maschine über das Kommandozeilen-Tool “vboxmange.exe“. Dieses befindet sich im Programmverzeichnis.

Im ersten Schritt wird die virtuelle Maschine angehalten und der aktuelle Zustand gespeichert:

vboxmanage.exe controlvm UbuntuServer savestate

“UbuntuServer” ist hierbei der Name der VM, wie er auch in der Manager Software angezeigt wird.

Die zweite Zeile kopiert die VM in das Backup-Verzeichnis. Der Parameter /S nimmt hierbei auch die Unterverzeichnisse mit, /Y überschreibt eventuelle Dateien mit gleichen Namen ohne Rückfrage. Mittels %date% wird für jeden Tag ein neuer Ordner angelegt, so dass normalerweise keine Dateien überschrieben werden sollten, sondern jeweils ein eigenes Verzeichnis angelegt werden. Somit hat man gleich auch verschiedene Stände der virtuellen Maschine, zu denen man im Bedarfsfall wechseln kann.

Die Batch-Datei kann man nun noch zeitgesteuert starten und ausführen lassen, so dass z.B. nachts automatisch ein Backup erzeugt wird. Je nach Größe der virtuellen Maschine und des Backupsspeichers, sollte man alte Backups löschen, da diese sonst sehr viel Platz einnehmen.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.