SVirtualBox: ajout de l'option -r pour relancer avec restauration du snapshot
This commit is contained in:
parent
225060c0b1
commit
0805f4f522
62
SVirtualBox
62
SVirtualBox
|
@ -10,9 +10,12 @@ USAGE
|
||||||
$scriptname [options] vmName
|
$scriptname [options] vmName
|
||||||
|
|
||||||
OPTIONS
|
OPTIONS
|
||||||
-n Ne rien faire excepté s'assurer que les modules VirtualBox sont chargés
|
-n, --nop
|
||||||
-l Lister les machines virtuelles
|
Ne rien faire excepté s'assurer que les modules VirtualBox sont chargés
|
||||||
-s Démarrer la machine virtuelle (par défaut)
|
-l, --list
|
||||||
|
Lister les machines virtuelles
|
||||||
|
-s, --start
|
||||||
|
Démarrer la machine virtuelle. C'est l'action par défaut.
|
||||||
Si le nom de la machine virtuelle n'est pas spécifiée, un menu est
|
Si le nom de la machine virtuelle n'est pas spécifiée, un menu est
|
||||||
affiché
|
affiché
|
||||||
-x, --gui
|
-x, --gui
|
||||||
|
@ -23,12 +26,22 @@ OPTIONS
|
||||||
laquelle l'accélération graphique est supportée, headless démarre la
|
laquelle l'accélération graphique est supportée, headless démarre la
|
||||||
machine en tâche de fond, et separate affiche une fenêtre qui attaque la
|
machine en tâche de fond, et separate affiche une fenêtre qui attaque la
|
||||||
machine démarrée en tâche de fond. --separate est l'option par défaut.
|
machine démarrée en tâche de fond. --separate est l'option par défaut.
|
||||||
-k Arrêter la machine virtuelle (par ACPI)
|
-k, -t, --stop
|
||||||
-p Mettre en veille la machine virtuelle (par ACPI)
|
Arrêter la machine virtuelle. Les options -p, -H, -R, -S et -r
|
||||||
-H Arrêter sauvagement la machine virtuelle
|
permettent de spécifier le type d'arrêt de la machine virtuelle
|
||||||
-R Redémarrer sauvagement la machine virtuelle
|
-p, --sleep
|
||||||
-S Enregistrer l'état de la machine virtuelle
|
Mettre en veille la machine virtuelle (par ACPI)
|
||||||
-g Afficher le gestionnaire de machines virtuelle"
|
-H, --poweroff
|
||||||
|
Arrêter sauvagement la machine virtuelle
|
||||||
|
-R, --reset
|
||||||
|
Redémarrer sauvagement la machine virtuelle
|
||||||
|
-S, --savestate
|
||||||
|
Enregistrer l'état de la machine virtuelle
|
||||||
|
-r, --rrestart
|
||||||
|
Arrêter la machine, restaurer l'état du dernier snapshot puis la
|
||||||
|
relancer.
|
||||||
|
-g, --gui
|
||||||
|
Afficher le gestionnaire de machines virtuelle"
|
||||||
}
|
}
|
||||||
|
|
||||||
function build_arrays() {
|
function build_arrays() {
|
||||||
|
@ -68,11 +81,12 @@ function start_virtualbox() {
|
||||||
}
|
}
|
||||||
|
|
||||||
action=start
|
action=start
|
||||||
stopaction=acpipowerbutton
|
|
||||||
type=separate
|
type=separate
|
||||||
|
stopaction=acpipowerbutton
|
||||||
|
restore=
|
||||||
parse_opts + "${PRETTYOPTS[@]}" \
|
parse_opts + "${PRETTYOPTS[@]}" \
|
||||||
--help '$exit_with display_help' \
|
--help '$exit_with display_help' \
|
||||||
-n action=nop \
|
-n,--nop action=nop \
|
||||||
-l,--list action=list \
|
-l,--list action=list \
|
||||||
-s,--start action=start \
|
-s,--start action=start \
|
||||||
-x,--gui type=gui \
|
-x,--gui type=gui \
|
||||||
|
@ -80,10 +94,11 @@ parse_opts + "${PRETTYOPTS[@]}" \
|
||||||
--separate type=separate \
|
--separate type=separate \
|
||||||
-k,-t,--stop '$action=stop; stopaction=acpipowerbutton' \
|
-k,-t,--stop '$action=stop; stopaction=acpipowerbutton' \
|
||||||
-p,--sleep '$action=stop; stopaction=acpisleepbutton' \
|
-p,--sleep '$action=stop; stopaction=acpisleepbutton' \
|
||||||
-H '$action=stop; stopaction=poweroff' \
|
-H,--poweroff '$action=stop; stopaction=poweroff' \
|
||||||
-R '$action=stop; stopaction=reset' \
|
-R,--reset '$action=stop; stopaction=reset' \
|
||||||
-S '$action=stop; stopaction=savestate' \
|
-S,--savestate '$action=stop; stopaction=savestate' \
|
||||||
-g action=gui \
|
-r,--rrestart '$action=stop; restore=1' \
|
||||||
|
-g,--gui action=gui \
|
||||||
@ args -- "$@" && set -- "${args[@]}" || die "$args"
|
@ args -- "$@" && set -- "${args[@]}" || die "$args"
|
||||||
|
|
||||||
"$scriptdir/EnsureVM" virtualbox || die
|
"$scriptdir/EnsureVM" virtualbox || die
|
||||||
|
@ -128,10 +143,23 @@ elif [ "$action" == stop ]; then
|
||||||
if [ -z "$vm" -a "${rvms[*]}" ]; then
|
if [ -z "$vm" -a "${rvms[*]}" ]; then
|
||||||
select_vm rvms vm "Choisissez la VM à arrêter avec la méthode $stopaction"
|
select_vm rvms vm "Choisissez la VM à arrêter avec la méthode $stopaction"
|
||||||
fi
|
fi
|
||||||
|
[ -n "$vm" ] || die
|
||||||
|
|
||||||
if [ -n "$vm" ]; then
|
|
||||||
estep "Arrêt de $vm avec la méthode $stopaction"
|
estep "Arrêt de $vm avec la méthode $stopaction"
|
||||||
VBoxManage -q controlvm "$vm" "$stopaction"
|
VBoxManage -q controlvm "$vm" "$stopaction" || die
|
||||||
|
if [ -n "$restore" ]; then
|
||||||
|
ebegin "Attente de l'arrêt"
|
||||||
|
while true; do
|
||||||
|
build_arrays
|
||||||
|
array_contains svms "$vm" && break
|
||||||
|
edot
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
eend
|
||||||
|
estep "Restauration du snapshot"
|
||||||
|
VBoxManage -q snapshot "$vm" restorecurrent || die
|
||||||
|
estep "Démarrage"
|
||||||
|
VBoxManage -q startvm --type "$type" "$vm"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
elif [ "$action" == gui ]; then
|
elif [ "$action" == gui ]; then
|
||||||
|
|
Loading…
Reference in New Issue