2010-01-04 15 views
13

Ich versuche ein automatisiertes svn-commit einzurichten, um semi-stündlich unter mac os 10.6 zu laufen, aber die crontabs, die ich zu cron hinzufüge, scheinen nicht gültig zu sein und/oder scheinen nicht einmal von cron angeschaut zu werden. Für den Test habe ich eine einfache crontab und Skript:cron jobs unter mac os 10.6 snow leopard

Crontab: */2 * * * * /Users/username/crontest

wo Benutzername mit meinem System-Benutzernamen ersetzt wird, so zu meinem Home-Verzeichnis zeigt (und ja, das sind wirklich Tabs zwischen den einzelnen Wert - sie sind nicht treu in der code Abschnitt reproduziert)

Ich führe zuerst eine crontab -r, dann läuft , die die obige Zeile enthält. crontab -l spuckt die Zeile oben aus, und läuft ps -A | grep cron zeigt /usr/sbin/cron läuft, die ich vermute, ist der Cron-Daemon unter Mac OS X. Das /Users/username/crontest Skript anhängt einfach eine Textzeile in eine Textdatei, die als solche:

echo "hi" >> /Users/username/crontest.txt

Was soll das? Ich bin ratlos.

Antwort

14

Hoppla ... Am Ende des Cron-Jobs fehlte der Zeilenumbruch. Das scheint es behoben zu haben.

+2

Nur um klar zu sein, hatte ich ein ähnliches Problem und eine zusätzliche neue Zeile zu meiner Datei hinzufügen, wenn Contrab -e es behoben. Ick. –

5

Obwohl unter OS X zum Ausführen automatisierter Jobs die bevorzugte Methode launchd ist, wird cron weiterhin unterstützt. Wahrscheinlich haben Sie Probleme mit der Berechtigung für Ihr Skript. Stellen Sie sicher, dass es über die Berechtigung zum Ausführen verfügt.

Auch */2 bedeutet alle zwei Minuten, nicht halbstündlich. Versuchen Sie, das Minutenfeld mit einer Liste von Minuten zu setzen:

0,30 * * * * /Users/username/crontest 

Funktioniert für mich am 10.6.

+1

Danke für den Tipp. Randnotiz: Ich denke, ich habe in meiner ursprünglichen Frage nicht klargestellt, dass mein Cron-Job, obwohl mein endgültiger Cron-Job halbstündlich ausgeführt werden sollte, eigentlich alle zwei Minuten ausgeführt werden sollte. – jtrim

Verwandte Themen