2010
Wie vor kurzem geschrieben, brauchte ich für die Synchronisation meines neuen Nokia E72 mit meinen MobileMe-Daten eine bequeme und automatisierte Möglichkeit. Als Grundlage unter Mac OS X bietet sich natürlich iSync an. Da mir Nokia da entsprechende Plugin für das E72 bietet, konnte ich so schon eine (manuelle) Synchronisation durchführen. Ich hätte diesen Prozess aber gerne vollautomatisch – zum Bespiel jeden Tag abends um 21 Uhr.
Als ersten Schritt dahin benötigt man ein Tool, was den eigentlichen Sync-Prozess komplett eigenständig durchführt. iSync verlangt immer noch auf das Klicken des Sync-Buttons, ehe der Abgleich startet. Hier bietet sich das Tool Sync Now an. Sobald dieses gestartet wird, startet iSync, führt den Abgleich mit allen angemeldeten Geräten durch und beendet sich wieder.
Schritt zwei ist nun nur noch der automatische Start von Sync Now. Feisar, der Entwickler von Sync Now, empfiehlt hier das Tool Butler. Mit diesem kann man Programme oder diverse Aufgaben automatisch starten lassen. Es geht aber noch einfacher – und vor allem ohne weitere Tools – nämich mit den guten, alten UNIX-Bordwerkzeugen an der Kommandokonsole: den Cronjobs. Cronjobs sind unter UNIX/Linux-Systemen Aufrufe, die zu bestimmten Zeiten regelmäßig vom System gestartet werden.
Um unter Mac OS X Cronjobs einrichten zu können, kann man sich entweder wieder ein Programm installieren, was die Cronverwaltung in einer grafischen Umgebung ermöglicht, oder schlicht und einfach mit dem Konsolenbefehl crontab arbeiten. Da crontab jedoch ein Shell-Kommando ist, kann man hier nicht so einfach Mac OS X – Programme starten. Anders als bei Windows sind Programme keine ausführbaren Dateien, sondern Programme sind Pakete, die in Ordnern zusammengefasst sind. Mit dem Shell-Befehl /usr/bin/open kann man auf dem Mac aber Programme an der Konsole starten – und somit auch in der crontab.
Anders herum kann man über ein einfaches AppleScript auch Shell-Befehle auf dem Mac starten – möchte man beispielsweise auf dem Desktop ein Icon haben, mit dem man mittele einem Klick ein rsync zwischen zwei Rechnern startet. Details hierzu gibt es hier.
Die Crontab ist nichts anderes als eine Textdatei, in der zeilenweise die vom System automatisch zu startenden Befehle und Skripe stehen. Dabei werden in den ersten fünf Spalten die Startzeiten codiert:
- die erste Spalte enthält die Minutenangabe (0-59)
- -die zweite Spalte enthält die Stundenangabe(0-23)
- die dritte Spalte den Monatstag (1-31)
- -die vierte Spalte den Monat (1-12)
- -die fünfte Spalte den Wochentag (0-7, wobei der Sonntag mit 0 oder 7 codiert werden kann).
Öffnen kann man seine (also die des aktuell angemeldeten Nutzers) Crontab an der Kommandokonsole:
crontab -l #zeigt die Crontab an crontab -e #öffnet die Crontab zum Bearbeiten.
Wem das alles zu komplziert ist, der findet im Internet auch ein Mac-Programm, mit dem man bequem und grafisch Crojobs anlegen und bearbeiten kann.
Neben festen Zeitangaben können auch Wildcards verwendet werden. Dazu wird der * in der entsprechenden Spalte eingetragen. Auch Bereichsangaben oder Aufzählungen sind möglich. Einige Beispiele:
0 6 * * * /home/1.sh # startet jeden Tag um 6:00 Uhr das Skript /home/1.sh 30 * * * 1 /home/2.sh > /dev/null # startet am Montag immer zur halben Stunde (also 0:30, 1:30, ..., 23:30) das Skript /home/2.sh und verwirft die Ausgabe * 4 1 * * /home/3.sh # startet am 1. eines jeden Monats um 4 Uhr das Skript /home.3.sh */15 * * 6-9 * /home/4.sh # startet alle 15 Minuten in den Monaten Jun bis Sep (6-9) das Skript 4.sh */20 8-16 * * 1-5 /home/5.sh # startet Montags bis Freitags in der Zeit von 8 bis 16 Uhr alle 20 Min das Skript 5.sh
Nach der Startzeitcodierung folgt der auszuführende Befehl. Zu beachten ist, dass der Eigentümer der entsprechende Crontab auch die notwendigen Rechte zur Ausführung des gewünschten Befehls hat. Soll während der Ausführung des Befehls keine Ausgabe erfolgen, leitet man diese einfach nach /dev/null um.
Mehr wird nicht benötigt. Um also nun seine Synchronisierung über iSync vollautomatisch und ohne notwendige Interaktion einmal täglich um 21 Uhr zu starten, setzt man folgenden Cronjob:
0 21 * * * /usr/bin/open „/Applications/Sync Now.app“
Mehr aus diesem Bereich:
- iPhoto und iTunes synchronisieren (21. April 2010)
- Das neue Mac OS X Lion orientiert sich am iPad (26. Oktober 2010)
- Nützliche Handgriffe am Mac (15. Mai 2010)
- Apple Remote, Magic Mouse & Wireless Keyboard: Kleine Helferlein für den Mac (24. Januar 2010)
- Schickes und nützliches Businessphone – Nokia E72 (19. März 2010)
Geschrieben von Oliver Hartwich
Erschienen am Donnerstag, den 25. März 2010 um 16:51 Uhr | 17.900 Besuche
Abgelegt unter HowTo ... ?
Kommentar schreiben
Diesen Beitrag versenden
Diesen Beitrag drucken
Diesen Beitrag als PDF speichern
RSS-Feed ·
RSS 2.0 Kommentar-Feed ·
Trackback ·
Permalink