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.
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… )