cron

crontab

closeDieser Beitrag wurde vor mehr als drei Monaten veröffentlicht. Bedenke bitte, dass die hier angebotene Information nicht mehr aktuell und gültig sein könnte. Informiere dich daher bitte auch an anderer Stelle über dieses Thema. Sollten sich neue Informationen ergeben haben, so kannst du mich auch gerne auf diese über einen Kommentar hinweisen. Vielen Dank!

Ein Skript, ein Befehl oder sonstiges, was in einen bestimmten Rhythmus wiederholt in der ausgeführt werden soll, genau dafür ist ein Cronjob zuständig.

 

cron
cron

 

Um nun einen cronjob einzutragen, muss man sich zunächst für einen Editor für diesen Zweck entscheiden… in diesem Fall setzen wir als Standart-Editor “VIM” ->

export EDITOR=vim

das Kommando:

crontab -l

-> zeigt deine crontab-Einträge an

crontab -u -l

-> zeigt alle crontab-Einträge von einem bestimmten “user” an

crontab -e

-> editiert deine crontab-Einträge

crontab -u -e

-> editiert die crontab-Einträge von einem bestimmten “user”

crontab -r

-> löscht alle deine crontab-Einträge

die Syntax:

[Minuten] [Stunden] [Tag des Monats] [Monat] [Tag der Woche] [Kommando]

- [Minuten] -> 0-59
– [Stunden] -> 0-23
– [Tag des Monats] -> 1-31
– [Monat] -> 1-12
– [Tag der Woche] -> 0-7 (0 oder 7 = Sonntag)

einige Beispiele:

* * * * * /home/user/test.sh > /dev/null 2>> /var/log/test.log

- “* * * * *” -> das Skript wird jede Minute ausgeführt
– “> /dev/null” -> es hat keine Ausgabe auf der Konsole
– “2>>” -> Fehler werden ins Logfile geschrieben

30 00 * * * /home/user/test2.sh &> /dev/null

- “30 00 * * *” -> das Skript wird jeden Tag um 00:30 Uhr ausgeführt
– “&> /dev/null” -> es werden keine Ausgaben ausgegeben (kein Log)

0 0 1 1 * /home/user/test3.sh > /dev/null 2>> /var/log/test3.log

- “0 0 1 1 *” -> das Skript wird einmal im Jahr ausgeführt

30 00 * * 1,2,3,4,5 /home/user/test4.sh > /dev/null 2>> /var/log/test4.log

- “30 00 * * 1,2,3,4,5″ -> das Skript wird von Montags bis Freitags ausgeführt (um 00:30)

30 00 * * 6-7 /home/user/test5.sh > /dev/null 2>> /var/log/test5.log

- “30 00 * * 6-7″ -> das Skript wird Samstags und Sonntags ausgeführt (um 00:30)

0 */2 * * * /home/user/test6.sh > /dev/null 2>> /var/log/test6.log

- “0 */2 * * *” -> das Skript wird jede zwei Stunden ausgeführt

0 8-20/2 * * * /home/user/test7.sh > /dev/null 2>> /var/log/test7.log

- “0 8-20/2 * * *” -> das Skript wird jede zwei Stunden von 8 bis 20 Uhr ausgeführt

1,2,5,9 -> jede erste, zweite, fünfte, neunte (Minute, Stunde… )
0-4,8-12 -> von 0 bis 4 und von 8 bis 12 (Minute, Stunde… )
*/5 -> jede fünf (Minute, Stunde… )
1-9/2 -> von 1 bis 9 in zweier Schritten (Minute, Stunde… )

  • http://suckup.de/ lars

    info: wget muss in Anführungszeichen geschrieben werden, wenn man Parameter verwenden möchte!

    0 */2 * * * wget -q -O /dev/null "http://suckup.de/test_cron.php?start=1"
  • Pingback: Erste Schritte in der Shell | SUCKUP.de()