Posts mit dem Label iPhoto werden angezeigt. Alle Posts anzeigen
Posts mit dem Label iPhoto werden angezeigt. Alle Posts anzeigen

Sonntag, 21. Februar 2010

Projekt Mac Mini: Fotosammlung

Meine Fotos verwalte ich mit iPhoto. Es ist bereits eine stattliche Sammlung von Bildern zusammengekommen. Da die Fotos aus verschiedenen Quellen zusammenfliessen, müssen sie sortiert, gesichtet und nachbearbeitet werden. Da der Mac mini nur an den Fernseher angeschlossen ist, eignet er sich nicht für die Verarbeitung der Bilder. Daher soll dieser Schritt weiterhin über das Macbook laufen. Die Bibliothek nun vom Macbook auf den Mac mini zu bringen, ohne dies manuell machen zu müssen oder die Bilder dort erneut importieren zu müssen, ist die Herausforderung. Ein simples kopieren der iPhoto Library hat nicht funktioniert. Aber wenn man die Library zunächst komprimiert und dann das Archiv verschiebt, lässt es sich erfolgreich auspacken und dann so starten, als ob es immer schon auf dem mini gelegen hätte. Die Pfade sollten natürlich identisch sein, wenn die Bilder auf einer Netzwerkplatte liegen. Soweit also der manuelle Vorgang.

Der einfachste Weg das zu bewerkstelligen ist (mal wieder) rsync. Mit rsync über ssh auf den Mac mini geht das ohnehin wesentlich schneller, da nur die Differenzen übertragen werden. Während das Komprimieren bei mir allein schon 20 Minuten dauerte, ist der gesamte Transfer mit rsync je nach Umfang der Änderungen in wenigen Minuten durch. Damit der Transfer automatisiert ablaufen kann, habe ich einen Schlüssel ohne Passwort angelegt, mit dem die Verbindung zum Mac mini aufgebaut werden kann. Der rsync-Aufruf sieht dann wie folgt aus:

rsync -e "ssh -i /Users/LOGINNAME/.ssh/id_rsa"
--progress -aEh --delete --delete-excluded
--log-file=rsync_iPhotoLib.log
/Users/LOGINNAME/iPhoto Library"
LOGINNAME@Mac-mini.local:/Users/LOGINNAME/Pictures/

Damit dieses Skript regelmäßig läuft habe ich einen stündlichen Eintrag in der Crontab vorgenommen und noch eine Prüfung ergänzt, damit die Übertragung nur angestossen wird, wenn sich auch Änderungen ergeben haben. Dazu wird einfach eine Datei mit "touch" erstellt, wenn ein Update gemacht wird, so dass das Änderungsdatum der iPhoto Library und der Timestamp-Datei einfach verglichen werden können.

Als Kontrolle meldet sich der eingerichtete Cronjob noch mit einem growlnotify-Aufruf, wenn wirklich ein Update durchgeführt wird.

Jetzt könnte man noch prüfen, ob iPhoto gerade läuft, so dass immer nur saubere Stände übertragen werden, aber darum kümmere ich mich vielleicht später. Aktuell läuft das so auch schon sehr gut.