VM Backup
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
#!/bin/bash
# ------------ ranko skoric ---------- #
# ------- VirtualBox - Backup -------- #
# ------------ 05.02.2021 ------------ #
# ------------------------------------ #
# ------------------------------------ #
# Vorsicht! Ordner Name und Virtuell Maschine Name müssen identisch sein.
vmfolder="/daten/vm/" # Virtuell Maschine Ordner
bfolder="/backup/vm/" # Backup speicher Ort
r="ver" # verion name
m=2 # version anzahl
# ------------------
after=$m
# ------------------------------------ #
a=1
end=`VBoxManage list runningvms | wc -l`
let "end++"
echo "$end"
vm=`VBoxManage list runningvms | awk 'NR=='$a' {print $1}' | sed 's/"//g'`;
# ----------------------------------- #
while [ $a -lt $end ]
do
echo "$vm $end $a"
# ################################ #
# diese schleife erstellt version anzahl virteulen maschinen und löscht die alten
let irm=$m-1
rm -r $bfolder$vm/$r.$irm
while [ $m -gt 1 ]
do
# echo $r.$m
let "m--"
af=$m
let "af--"
new=$(printf "$r.%0d" $af )
echo $new $r.$m
mv $bfolder$vm/$new $bfolder$vm/$r.$m
sleep 1
done
m=$after
echo "$m"
mkdir -p $bfolder$vm/$r.0
# ################################ #
# diese schleife überprüft und wartet dass Virtuell Maschine gespeichert ist.
VBoxManage controlvm $vm savestate
i=1
while [ $i -gt 0 ]
do
i=`VBoxManage list runningvms | grep -c $vm`
echo "$i"
echo "waiting for VMs to shutdown"
sleep 5
done
# ----------------------------------- #
echo "backup wird gestarte für $vm machine"
rsync -av --delete --progress $vmfolder$vm/ $bfolder$vm/$r.0
VBoxManage startvm $vm --type headless
# ------------------------------------ #
let "a++"
vm=`VBoxManage list runningvms | awk 'NR=='$a' {print $1}' | sed 's/"//g'`;
# ------------------------------------ #
sleep 3
done
echo "the end" |
#!/bin/bash
# ------------ ranko skoric ---------- #
# ------- VirtualBox - Backup -------- #
# ------------ 05.02.2021 ------------ #
# ------------------------------------ #
# ------------------------------------ #
# Vorsicht! Ordner Name und Virtuell Maschine Name müssen identisch sein.
vmfolder="/daten/vm/" # Virtuell Maschine Ordner
bfolder="/backup/vm/" # Backup speicher Ort
r="ver" # verion name
m=2 # version anzahl
# ------------------
after=$m
# ------------------------------------ #
a=1
end=`VBoxManage list runningvms | wc -l`
let "end++"
echo "$end"
vm=`VBoxManage list runningvms | awk 'NR=='$a' {print $1}' | sed 's/"//g'`;
# ----------------------------------- #
while [ $a -lt $end ]
do
echo "$vm $end $a"
# ################################ #
# diese schleife erstellt version anzahl virteulen maschinen und löscht die alten
let irm=$m-1
rm -r $bfolder$vm/$r.$irm
while [ $m -gt 1 ]
do
# echo $r.$m
let "m--"
af=$m
let "af--"
new=$(printf "$r.%0d" $af )
echo $new $r.$m
mv $bfolder$vm/$new $bfolder$vm/$r.$m
sleep 1
done
m=$after
echo "$m"
mkdir -p $bfolder$vm/$r.0
# ################################ #
# diese schleife überprüft und wartet dass Virtuell Maschine gespeichert ist.
VBoxManage controlvm $vm savestate
i=1
while [ $i -gt 0 ]
do
i=`VBoxManage list runningvms | grep -c $vm`
echo "$i"
echo "waiting for VMs to shutdown"
sleep 5
done
# ----------------------------------- #
echo "backup wird gestarte für $vm machine"
rsync -av --delete --progress $vmfolder$vm/ $bfolder$vm/$r.0
VBoxManage startvm $vm --type headless
# ------------------------------------ #
let "a++"
vm=`VBoxManage list runningvms | awk 'NR=='$a' {print $1}' | sed 's/"//g'`;
# ------------------------------------ #
sleep 3
done
echo "the end"
1
2
| VBoxManage startvm 2016stand --type emergencystop
VBoxManage startvm 2016stand --type headless |
VBoxManage startvm 2016stand --type emergencystop
VBoxManage startvm 2016stand --type headless