Wie kann man Cron unter OSX 10.6.2 ausführen?

10

Hinweis: In dieser Frage geht es nicht darum, wie Sie die Registerkarte "Cron" bearbeiten, sondern darum, wie Cron funktioniert


  1. Ich habe mein Cron mit bearbeitet env EDITOR=joe crontab -e
  2. Ich habe eingegeben 1 * * * * echo 'test' > /Users/radek/Backup/rationalvmware/test.txtund es tut nichts, obwohl der Cron richtig eingerichtet ist . Über Cronnix überprüft und das Cron in / var / cron / tabs angezeigt. Das Bearbeiten von crontab mit Cronnix führt zu denselben Ergebnissen.

Wenn ich echo 'test' > /Users/radek/Backup/rationalvmware/test.txtmanuell ausführe, werden erwartungsgemäß Dateien erstellt, sodass ich davon ausgehe, dass der Befehl, den ich cron gebe, korrekt ist.

Muss ich etwas Besonderes tun, damit Cron unter OSX funktioniert? Wie kann ich überprüfen, ob der Cron läuft?

Was entspricht / var / log / messages unter OSX? Ich kann in Nachrichten auf SuSE sehen, dass Cron funktioniert.

Radek
quelle
1
Nebenbei: Beachten Sie, dass dies cronin einer anderen Umgebung ausgeführt wird als Ihr eigener Testbefehl. Beispiel: Möglicherweise benötigen Sie häufig absolute Pfade.
Arjan

Antworten:

8

Ich bezweifle, dass Sie bis 1 Minute nach der vollen Stunde auf Ihren Test gewartet haben. Jede Minute laufen :

0-59 * * * * echo 'test' > /Users/radek/Backup/rationalvmware/test.txt
Arjan
quelle
Von Mavericks oder später eine Alternative, die sich selbst eine Benachrichtigung 0-59 * * * * osascript -e "display notification \"$(date)\" with title \"Cron test\""
sendet
10

Das Dienstprogramm cron wird von launchd gestartet, wenn es die Existenz von /etc/crontaboder Dateien in sieht /usr/lib/cron/tabs. Es sollte nicht erforderlich sein, es manuell zu starten . (Siehe die Manpages .)

Um Protokolle von OS X anzuzeigen, können Sie das Konsolendienstprogramm verwenden.

Hieu
quelle
Auf dem Berg. Lion dieser Ort ist tatsächlich mehrmals miteinander verbunden, was letztendlich zu : /private/var/at/tabs/, FYI
Andrew Burns
9

Zwei andere Möglichkeiten sind zu verwenden:

*/1 * * * * echo 'test' > /Users/radek/Backup/rationalvmware/test.txt

oder

* * * * * echo 'test' > /Users/radek/Backup/rationalvmware/test.txt

Diese laufen beide jede Minute.

Eisenrad
quelle
3

Zuerst müssen Sie Ihre $EDITORVariable auf etwas Vernünftiges setzen, da Sie sie auf etwas gesetzt haben, das Sie nicht wollen. Stellen Sie es so ein:

EDITOR=joe

Sie können joezu einem anderen Texteditor wechseln , z. B. nanooder vim.

Dann möchten Sie Ihre bearbeiten crontab, was wie folgt gemacht wird:

crontab -e

Dann geben Sie den zu verwendenden Text ein cron.

Wuffers
quelle
Ich habe meine Frage aktualisiert. Ich kann den Cron so bearbeiten, wie ich es mache, aber der Cron läuft nicht ...
Radek
Es gibt keinen Grund, joeder nicht verwendet werden könnte. Der Schlüssel ist, dass crontab -everwendet wird.
Bis auf weiteres angehalten.
Joe ist der Beste
Nkadwa
3

Wenn Sie cron auf Mountain Lion verwenden möchten, sollten Sie hier einen Blick darauf werfen: https://coderwall.com/p/ry9jwg oder einfach das Terminal öffnen und ausführen sudo touch /etc/crontab. Danach sollten Ihre Jobs in / usr / lib / cron / tabs von cron bearbeitet werden.

CKIDOW
quelle