Linux: Aufgaben automatisieren mit Cron

Cron ist ein Dienst, mit dem man Aufgaben unter Linux automatisieren kann. Wir erklären hier Schritt für Schritt, wie man einen Cronjob unter Linux einrichtet. 

Der Dienst Cron ist auf jedem System aktiv, das auf Linus basiert. Cron nutzt eine systemweite Datei „/etc/crontab“, die für alle Benutzer gilt und die sich im Terminal mit root-Recht bearbeiten lässt: sudo crontab -e. Der Schalter „-e“ editiert die Datei, zur Anzeige dient der Parameter „-l“.

Die Datei „crontab“ ist der richtige Ort, um regelmäßig wiederkehrende Aufgaben zu einem bestimmten Zeitpunkt ausführen zu lassen und damit zu automatisieren. Das Format der Datei ist jedoch gewöhnungsbedürftig. Einen Überblick behält nur der, der eine saubere Formatierung verwendet.

Jede Aufgabe sollte in der Crontab genau eine Zeile bekommen. Die ersten fünf Spalten dienen der Zeitangabe, alles Nachfolgende interpretiert Cron als auszuführenden Befehl. Um die Spalten bündig zu formatieren, sollten Sie Tabulatoren oder Leerzeichen verwenden. Alle Zeitangaben sind entweder positive Integerzahlen oder der Stellvertreter „*“, der für das jeweilige Zeitelement keine Regel vorsieht. Ein Stern für „Tag“ bedeutet für Ihren Cronjob „an jedem Tag“.

Als kleinstmöglichen Cronintervall steht Ihnen minütlich zur Verfügung. Soll ein Job stündlich ausgeführt werden, müssen Sie eine exakte Minute vorgeben, zum Beispiel Minute „0“ verwenden. Jede der fünf Zeitangaben kann auch mehrere, durch Komma getrennte Werte enthalten. Eine Angabe für die Stunde wie „08,14,20“ startet die Aufgabe folglich dreimal am Tag um 8:00, 14:00 und 20:00 Uhr.

Eine weitere Variante ist die Bereichsangabe „09-18“, was für die Stundenspalte eine stündliche Ausführung zwischen 9:00 und 18:00 bedeutet. Weitere Möglichkeiten sind Angaben wie „*/4“. Diese Angabe ist aber erklärungsbedürftig. Für das Stundenfeld bedeutet das nämlich nicht „jede Viertelstunde“, sondern jede vierte Stunde.