TimeMachine Disk switch in Snow Leopard
Saturday, January 30. 2010
Da ich sowohl im Büro als auch zu Hause eine Backup-Harddisk für TimeMachine Backups habe, wollte ich eine einfache (sprich automatische) Lösung um zwischen den beiden Harddisks umzuschalten. Chregu hat vor einiger Zeit bereits eine Lösung für das Problem gefunden. Allerdings hat diese Lösung unter Snow Leopard bei mir nicht funktioniert. Der Hauptunterschied scheint zu sein, dass neben dem BackupAlias nun auch noch die DestinationVolumeUUID gesetzt werden muss.
Da ich zudem nicht zwei Shell-Skripte für dieselbe Aufgabe wollte, habe ich das alles in ein Skript gepackt:
tmdiskswitch.sh
#!/bin/sh
# home backup
DISK_HOME_ALIAS='<00000000 .... 0000>'
DISK_HOME_UUID='"DE5435B1-..."'
# work backup
DISK_WORK_ALIAS='<00000000 .... 0000>'
DISK_WORK_UUID='"B1405E27-..."'
if [ -z "$1" ]
then
echo "usage: $0 <environmnet>"
exit 1
fi
case $1 in
home)
DISKALIAS=$DISK_HOME_ALIAS
DISKUUID=$DISK_HOME_UUID
;;
work)
DISKALIAS=$DISK_WORK_ALIAS
DISKUUID=$DISK_WORK_UUID
;;
*)
echo "unknown environment!"
exit 1
;;
esac
defaults write /Library/Preferences/com.apple.TimeMachine BackupAlias "$DISKALIAS"
defaults write /Library/Preferences/com.apple.TimeMachine DestinationVolumeUUID $DISKUUID
Vorgehen:
Um BackupAlias und DestinationVolumeUUID herauszufinden muss man die jeweilige HD als Backup-HD in TimeMachine definieren. Danach die folgenden Befehle im Terminal ausführen:
defaults read /Library/Preferences/com.apple.TimeMachine BackupAlias
defaults read /Library/Preferences/com.apple.TimeMachine DestinationVolumeUUID
Die Ausgabe des ersten Befehls muss im obenstehenden Skript eingetragen werden (alles zwischen den einfachen Anführungszeichen muss ersetzt werden mit der Ausgabe):
DISK_HOME_ALIAS='<00000000 .... 0000>'
bzw.
DISK_WORK_ALIAS='<00000000 .... 0000>'
Für den zweiten Befehl (alles zwischen den doppelten Anführungszeichen muss mit der Ausgabe ersetzt werden):
DISK_HOME_UUID='"DE5435B1-..."'
bzw.
DISK_WORK_UUID='"B1405E27-..."'
Das Skript kann in den Ordner 'bin' im Home-Verzeichnis abgelegt werden. Das Skript sollte zudem noch ausführbar gemacht werden:
chmod u+x bin/tmdiskswitch.sh
Danach muss man in MarcoPolo nur noch die entsprechenden Aktionen konfigurieren.
Für das Backup zu Hause:
Für das Backup im Büro:
Danach wechselt MarcoPolo automatisch je nach Umgebung die Backup-HD.
Hinweis:
Ich übernehme keinerlei Verantwortung für Schäden die durch die Verwendung dieses Skriptes entstehen. Die Verwendung geschieht auf eigene Gefahr.
Da ich zudem nicht zwei Shell-Skripte für dieselbe Aufgabe wollte, habe ich das alles in ein Skript gepackt:
tmdiskswitch.sh
#!/bin/sh
# home backup
DISK_HOME_ALIAS='<00000000 .... 0000>'
DISK_HOME_UUID='"DE5435B1-..."'
# work backup
DISK_WORK_ALIAS='<00000000 .... 0000>'
DISK_WORK_UUID='"B1405E27-..."'
if [ -z "$1" ]
then
echo "usage: $0 <environmnet>"
exit 1
fi
case $1 in
home)
DISKALIAS=$DISK_HOME_ALIAS
DISKUUID=$DISK_HOME_UUID
;;
work)
DISKALIAS=$DISK_WORK_ALIAS
DISKUUID=$DISK_WORK_UUID
;;
*)
echo "unknown environment!"
exit 1
;;
esac
defaults write /Library/Preferences/com.apple.TimeMachine BackupAlias "$DISKALIAS"
defaults write /Library/Preferences/com.apple.TimeMachine DestinationVolumeUUID $DISKUUID
Vorgehen:
Um BackupAlias und DestinationVolumeUUID herauszufinden muss man die jeweilige HD als Backup-HD in TimeMachine definieren. Danach die folgenden Befehle im Terminal ausführen:
defaults read /Library/Preferences/com.apple.TimeMachine BackupAlias
defaults read /Library/Preferences/com.apple.TimeMachine DestinationVolumeUUID
Die Ausgabe des ersten Befehls muss im obenstehenden Skript eingetragen werden (alles zwischen den einfachen Anführungszeichen muss ersetzt werden mit der Ausgabe):
DISK_HOME_ALIAS='<00000000 .... 0000>'
bzw.
DISK_WORK_ALIAS='<00000000 .... 0000>'
Für den zweiten Befehl (alles zwischen den doppelten Anführungszeichen muss mit der Ausgabe ersetzt werden):
DISK_HOME_UUID='"DE5435B1-..."'
bzw.
DISK_WORK_UUID='"B1405E27-..."'
Das Skript kann in den Ordner 'bin' im Home-Verzeichnis abgelegt werden. Das Skript sollte zudem noch ausführbar gemacht werden:
chmod u+x bin/tmdiskswitch.sh
Danach muss man in MarcoPolo nur noch die entsprechenden Aktionen konfigurieren.
Für das Backup zu Hause:
Für das Backup im Büro:
Danach wechselt MarcoPolo automatisch je nach Umgebung die Backup-HD.
Hinweis:
Ich übernehme keinerlei Verantwortung für Schäden die durch die Verwendung dieses Skriptes entstehen. Die Verwendung geschieht auf eigene Gefahr.
Trackbacks
Trackback specific URI for this entry
No Trackbacks
Comments