Исходные данные:
Xubuntu 14.04 server (64 разряда), на нем virtualbox с единственной VM, и это, как легко догадаться, Win-server.
Xubuntu 14.04 server (64 разряда), на нем virtualbox с единственной VM, и это, как легко догадаться, Win-server.
Тому, как бэкапить винду ее собственными средствами посвящены гигабайты в других местах, дело это простое и понятное... ровно до того момента как ее нужно восстанавливать... Отсюда и есть пошла виртуализация, и копирование VM (Виртуальной машины) целиком. Если все делать совсем правильно, следует ознакомится с этой вот статьей в качестве примера. Можно еще подумать в сторону lvm.
Мы будем делать не правильно и по-тупому - приостановил, скопировал, отпустил работать дальше. Собственно скрипт (запуск по четвергам из крона чуть за полночь).
#!/bin/bash # DEFAULTS OLDFILE=10 # Config file in $1, if absent - default config from /usr/local/etc/vm/vm.conf if [ ! -z ${1} ] ; then test -r ${1} && . ${1} else . /usr/local/etc/vm/vm.conf fi # Remove olds icount=0 for i in `ls -r $BACKUPDIR/vm-$VBOXNAME-20*` ; do if [ $((icount++)) -ge $((OLDFILE)) ] ; then rm -f "$i" echo "$i" " removed" fi done echo `date +%F%t%X` "stop vm" VBoxManage controlvm ${VBOXNAME} savestate sync sleep 10 echo `date +%F%t%X` "tar vm" DATETIMENOW=`date -I` tar cvf $BACKUPDIR/vm-$VBOXNAME-$DATETIMENOW.tar $VBOXPATH sync sleep 10 echo `date +%F%t%X` "start vm" VBoxHeadless --startvm ${VBOXNAME} & nice gzip $BACKUPDIR/vm-$VBOXNAME-$DATETIMENOW.tar echo `date +%F%t%X` "tar gziped" ~
И к нему конфиг
# settings
VBOXPATH="/home/storage/virtualbox"
VBOXDVD="host:/dev/cdrom"
VBOXNAME="Win2008r2"
VBOXOS="Windows2008_64"
VBOXRDEADDR="10.0.0.1"
VBOXRDEPORT="3389"
BACKUPDIR=/home/storage/backup/vms
OLDFILE=15
Конфиг общий для скриптов управления и бэкапа. Это традиция. Что касается скрипта, в самом начале или конфиг из файла, имя которого передается в качестве аргумента при запуске, или по умолчанию. Потом стирание старых копий. Потом приостановка - копирование - запуск. Ну и в конце ужимаем полученный архив (жмется в 3 раза, есть смысл).