Cron kann zur Automatisierung der Systemwartung oder -verwaltung, zum Download von Dateien aus dem Internet oder zum regelmäßigen E-Mail Versand genutzt werden. Es handelt sich hierbei um einen Daemon, also einen Hintergrundprozess, der immer auf dem Server läuft. Die Aufgaben, die Cron ausführen soll, werden als CronJob bezeichnet. Ursprünglich stammt der Name Cron vom griechischen Gott der Zeit “Chronos”.
Weitere Anwendungsmöglichkeiten sind die Aktualisierung von RSS-Feeds, die Veröffentlichung neuer Inhalte auf einer Website zu einem bestimmten Termin, die gebündelte Generierung von Rechnungen oder der automatisierte Newsletterversand. Ebenso kann das Backup einer Datenbank mithilfe von CronJobs zeitgesteuert durchgeführt werden.
Die ersten fünf Komponenten des Cron-Jobs definieren die Zeit, zu der die Aufgabe ausgelöst werden soll. Damit können Sie entweder eine bestimmte Zeit einstellen oder ein Intervall wie jeden zweiten Tag oder jede Minute angeben.
Am Ende jeder Cron-Job-Zeile müssen Sie den Befehl angeben, der ausgelöst werden soll, wenn die Bedingungen der vorherigen Komponenten erfüllt sind.
Die ersten fünf Teile bilden die Timing-Syntax des Cron-Jobs. Diese fünf Teile bestehen aus der Minute, der Stunde, dem Tag des Monats, dem Monat und dem Wochentag.
Der letzte und sechste Teil der Syntax ist der Befehl, der ausgeführt werden soll, wenn die Bedingungen in der Timing-Syntax erfüllt sind.
* | * | * | * | * | [COMMAND] |
---|---|---|---|---|---|
Minute (0-59) |
Hour (0-23) |
Day Of the Month (1-31) |
Month (1-12) |
Day of the week (0-6) |
Command to run |
Das Symbol, das Sie wahrscheinlich am häufigsten in Ihren Cron-Jobs verwenden werden, ist das Sternchen (*). Das Sternchen bedeutet, dass der Cron bei jeder Änderung dieses Wertes ausgelöst wird. Wenn es beispielsweise in der Minutenspalte verwendet wird, wird der Cron jede Minute ausgelöst.
Das andere Symbol, das Sie verwenden werden, ist das Schrittwertsymbol, und dies ist der Schrägstrich (/). Dieses Symbol ist nützlich, wenn Sie möchten, dass ein Ereignis zu einer bestimmten Zeit auftritt.
Alle 5 Minuten wäre beispielsweise „*/5“ in der Minute-Spalte oder alle 3 Tage „*/3“ in der Spalte Tag des Monats.
Unten können Sie sich unsere Tabelle ansehen, um alle verschiedenen Symbole zu sehen, die Sie in einem Cron-Job verwenden können und wie sie verwendet werden können.
Symbols | Usage | Example | Explanation |
---|---|---|---|
* | Any Value | * * * * * [CMD] | Ran every minute of every day |
, | Value List seperator | 0 0 * * 1, 3, 5 [CMD] | Ran every Monday, Wednesday, Friday at midnight |
– | Defines a range | 0 0 * 1-6 * [CMD] | Ran at midnight every day for the first 6 months |
/ | Step Values | */5 */2 * * * [CMD] | Ran every 6 minutes, every 2 hours, every day |
@yearly @annually |
Non Standard | @yearly [CMD] @annually [CMD] | Ran at midnight on the first day of the year |
@monthly | Non Standard | @monthly [CMD] | Ran at midnight on the first day of the month |
@weekly | Non Standard | @weekly [CMD] | Ran at midnight on the first day of the week |
@daily | Non Standard | @daily [CMD] | Ran at midnight every day |
@hourly | Non Standard | @hourly [CMD] | Ran at the start of every hour |
@reboot | Non Standard | @reboot [CMD] | Ran when the cron service restarts, usually at boot |