Архив за месяц: Сентябрь 2013

Скрипт резервного копирования VirtualBox

Не нашел готового, написал свой скрипт.
Основан он на использовании SNAPSHOT для резервного копирования.
Единственное — при его восстановлении у виртуальной машины возникает ощущение что у нее просто посреди работы выдернули питание.
Поэтому в некоторых случаях его применять нельзя. Но для моих целей — подходит.

#!/bin/bash

BACKUP_DIR=/mnt/backup/vms

if [ -z "$1" ]
then
    echo "Supply name of virtual machine or ALL for all running VMs"
    exit
fi

if [ "$1" = "ALL" ]
then
    VMS=`VBoxManage list runningvms|awk '{FS=" "}{print $1}'|sed s/\"//g`
else
    VMS=$1
fi

for VM in $VMS
do
    echo $VM
    mkdir $BACKUP_DIR/$VM/
    CFG=`VBoxManage showvminfo $VM --machinereadable|grep CfgFile|awk '{FS="="}{print $2}'|sed s/\"//g`
    echo "Copy $CFG ==> $BACKUP_DIR/$VM/"
    cp $CFG $BACKUP_DIR/$VM/
    VDIS=`VBoxManage showvminfo $VM --machinereadable|grep .vdi|awk '{FS="="}{print $2}'|sed s/\"//g`
    echo "Make snapshot of $VM"
    VBoxManage snapshot $VM take autobackup

    for VDI in $VDIS
    do
        #копирование диска
        echo "Copy $VDI>$BACKUP_DIR/$VM/"
        cp "$VDI" "$BACKUP_DIR/$VM/"
    done

    echo "Delete snapshot of $VM"
    VBoxManage snapshot $VM delete autobackup

done