Ich habe die folgende Crontab-Datei:
2 * * * * /bin/date >> /home/jon/date_from_cron.txt
Ich glaube, das bedeutet „alle zwei Minuten ausführen“. Es wird jedoch nur einmal ausgeführt. Kurz nachdem ich diese Crontab-Datei eingerichtet hatte, überprüfte ich /home/jon/date_from_cron.txt und stellte fest, dass sie Folgendes enthielt:
Tue Jan 8 17:02:01 CST 2013
Zehn Minuten später enthält es immer noch nur diese eine Zeile.
Was mache ich falsch?
EDIT: Mir wurde gesagt, ich solle /2am Anfang verwenden, damit der Job alle zwei Minuten ausgeführt wird. Aber mein Betriebssystem unterstützt dies nicht. Ich habe es sowohl auf einem Mac mit Mountain Lion als auch auf einer Ubuntu-Maschine versucht. Hier ist ein Zitat aus dem Internet dazu: „Ein Wiederholungsmuster wie /2 alle 2 Minuten oder /10 alle 10 Minuten wird nicht von allen Betriebssystemen unterstützt. Wenn Sie versuchen, es zu verwenden, und Crontab sich beschwert, wird es wahrscheinlich nicht unterstützt.“ Wenn dies also auf meinen Maschinen nicht unterstützt wird, wie kann ich einen Job alle X Minuten ausführen lassen?
Antwort1
Wenn Sie möchten, dass der Cron-Job alle zwei Minuten ausgeführt wird, sollte er/2 * * * * /bin/date >> /home/jon/date_from_cron.txt
http://www.adminschoice.com/crontab-quick-reference
EDIT: Eventuell versuchen*/2 * * * * /bin/date >> /home/jon/date_from_cron.txt
Antwort2
2 * * * * /bin/date >> /home/jon/date_from_cron.txt - - - - - | | | | | | | | | +----- Wochentag (0 - 6) (Sonntag=0) | | | +------- Monat (1 - 12) | | +--------- Tag des Monats (1 - 31) | +----------- Stunde (0 - 23) +------------- Mindestwert (0 - 59)
Wird stündlich ausgelöst, einmal zwei Minuten nach der vollen Stunde.
Antwort3
Dies wird alle 15 Minuten ausgeführt, und zwar 0, 15, 30 und 45 Minuten nach der vollen Stunde. Es sollte mit jeder Version von Cron funktionieren:
0,15,30,45 * * * * /bin/date >> /home/jon/date_from_cron.txt
Es bleibt dem Leser als Übung überlassen, dies mühevoll auf alle 2 Minuten umzurechnen. :)


