Will man eine virtuelle Maschine sichern, muss sie vorher angehalten werden. Backup-Lösungen wie z.B. Carbon Copy Cloner bieten die Möglichkeit unmittelbar vor und nach dem Backup Scripts auszuführen. Was liegt also näher als Parallels Desktop per Script zu stoppen und nach der Datensicherung wieder zu starten ? Die folgenden beiden Scripts machen genau das.

Parallels Desktop per Script anhalten

Sämtliche virtuelle Maschinen werden in den Suspend-Mode geschickt und Parallels Desktop beendet. In einer Liste wird gespeichert welche virtuellen Maschinen zu dem Zeitpunkt geöffnet waren.

#!/bin/bash
#
# suspend_vms.sh 1.00
#
# Detects and suspends currently running Parallels VMs.
# Saves VM list to a file used by resume_vms.sh
# Quits Parallels Desktop when finished.
#
# (c)2013 Harald Schneider
#

IFS=$'\n'
tmp=$TMPDIR"suspended_vms.txt"
list=`prlctl list | awk '{$1=$2=$3=""; print $0}'  | sed 's/^ *//g'`

rm $tmp >/dev/null 2>&1
for item in $list
do
	if [ $item != "NAME" ]
	then
	echo $item
		prlctl suspend "$item" >/dev/null 2>&1
		echo $item >>$tmp
	fi
done

osascript -e 'tell application "Parallels Desktop" to quit' >/dev/null 2>&1

Parallels Desktop per Script starten

Parallels Desktop wird gestartet und die zuvor angehaltenen virtuellen Maschinen fortgesetzt.

#!/bin/bash
#
# resume_vms.sh 1.00
#
# Starts Parallels Desktop.
# Reads VM list saved by suspend_vms.sh and resumes each VM.
#
# (c)2013 Harald Schneider
#

open /Applications/Parallels\ Desktop.app

IFS=$'\n'
list=`cat $TMPDIR"suspended_vms.txt"`

for item in $list
do
	prlctl resume "$item" >/dev/null 2>&1
done