Mrz25
2010

iSync als Cronjob unter Mac OS X

Geschrieben 25. März 2010 von
Veröffentlicht in HowTo ... ? 2 Kommentare »
1 Stern2 Sterne3 Sterne4 Sterne5 Sterne ( 10 Stimme/n, Durchschnitt: 4,80 von 5 [96,00%])
Loading...


Wie vor kurzem geschrieben, brauchte ich für die meines neuen E72 mit meinen MobileMe-Daten eine bequeme und automatisierte Möglichkeit. Als Grundlage unter OS X bietet sich natürlich 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 -Prozess komplett eigenständig durchführt. iSync verlangt immer noch auf das Klicken des -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 -Bordwerkzeugen an der Kommandokonsole: den Cronjobs. Cronjobs sind unter /Linux-Systemen Aufrufe, die zu bestimmten Zeiten regelmäßig vom System gestartet werden.

Um unter 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 arbeiten. Da jedoch ein -Kommando ist, kann man hier nicht so einfach – Programme starten. Anders als bei Windows sind Programme keine ausführbaren Dateien, sondern Programme sind Pakete, die in Ordnern zusammengefasst sind. Mit dem -Befehl /usr/bin/open kann man auf dem Mac aber Programme an der Konsole starten – und somit auch in der .

Anders herum kann man über ein einfaches 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:


Geschrieben von Oliver Hartwich
Erschienen am Donnerstag, den 25. März 2010 um 16:51 Uhr | 12.321 Besuche
Abgelegt unter HowTo ... ?

Tags: , , , , , , , ,


Kommentar schreiben


Diesen Beitrag drucken
Diesen Beitrag als PDF speichern

RSS-Feed  ·  RSS 2.0 Kommentar-Feed  ·   Trackback  ·   Permalink

2 Kommentare zum Beitrag “iSync als Cronjob unter Mac OS X”


    Trackbacks / Pings

  1. 1
    Tweets die iSync als Cronjob unter Mac OS X | Olivers Notizblog erwähnt -- Topsy.com schreibt:

    […] Dieser Eintrag wurde auf Twitter von Oliver Hartwich, Oliver Hartwich erwähnt. Oliver Hartwich sagte: iSync als Cronjob unter Mac OS X | Olivers Notizblog http://bit.ly/d33Hse […]

  2. 2
    Tweets die iSync als Cronjob unter Mac OS X | Olivers Notizblog erwähnt -- Topsy.com schreibt:

    […] Dieser Eintrag wurde auf Twitter von Oliver Hartwich erwähnt. Oliver Hartwich sagte: RT @ollihart iSync als Cronjob unter Mac OS X | Olivers Notizblog http://bit.ly/b62FtZ #Cronjob #iSync #Mac #OS #X […]

Kommentiere diesen Beitrag





Highslide for Wordpress Plugin