Aufgabenplanung mit Cronjobs fürs NAS
So funktionieren Cronjobs auf Linux-Systemen
von Andreas Dumont - 30.10.2014
Ein Cronjob ist eine Zeile in der Datei crontab und so etwas wie ein Termineintrag in einem Terminkalender. Jeder Eintrag besteht aus sieben Angaben, die jeweils durch ein Tabulator-Zeichen getrennt sind, manchmal auch durch Leerzeichen. Hier ein Beispiel:
15 8 22 12 mon root script.sh
crontab: Hier sehen Sie die crontab eines Qnap-NAS, in der 19 Cronjobs eingetragen sind.
Es folgt der Wochentag. Zulässige Werte sind 0 bis 7. 0 und 7 sind der Sonntag, 1 ist der Montag und so weiter. Ebenfalls möglich sind Namen wie mon, tue, wed, also die ersten drei Buchstaben der englischen Wochentage.
Schließlich folgt optional der Name des Benutzers, der die Ausführung startet. Am Ende steht das Programm oder das Skript, das zu den definierten Terminen ausgeführt wird.
Cronjobs: Der Terminkalender crontab liegt auf Linux-Systemen normalerweise im Verzeichnis „/etc“ wie hier auf einem Synology-NAS.
Ein Stern * bedeutet: jeder oder jede. Der Cronjob 0 8 1 * * root script.sh startet an jedem 1. jedes Monats um 8 Uhr, 0 8 * * mon root script.sh an jedem Montag um 8 Uhr. Es lassen sich auch mehrere Zeiten in ein Feld eintragen, getrennt durch ein Komma. So meint folgender Eintrag beispielsweise jeden 1. und 15. eines Monats, 8 Uhr.
0 8 1,15 * * root script.sh
Wenn Sie statt des Kommas einen Bindestrich verwenden, dann geben Sie Zeitspannen an. So bedeutet beispielsweise 0 8 1-15 * * root script.sh: Führe das Skript jeden Tag vom 1. bis zum 15. um 8 Uhr aus. Und schließlich lassen sich auch noch Intervalle mit dem Zeichen / definieren. Um das Kommando alle fünf Stunden auszuführen, schreiben Sie
0 */5 * * * root script.sh
All diese Kommandos lassen sich beliebig kombinieren. Die meisten NAS-Systeme kennen auch Cronjobs wie @reboot root script.sh. Hiermit startet das Skript einmal nach jedem Systemstart.
Cronjobs einrichten
Cronjob editor: Vereinzelt gibt es grafische Bedienoberflächen für Cronjobs wie hier für ein NAS-System von Synology.
Um einen Cronjob etwa auf einem NAS-Server anzulegen, müssen Sie die Datei crontab editieren. Dazu benötigen Sie zunächst einmal einen SSH-Zugang aufs NAS, um auf die Kommandozeilenebene zu gelangen. Dort starten Sie einen Editor und tragen den Cronjob in die crontab ein. Das hört sich komplizierter an, als es ist. Der Artikel „So sichern Sie Daten vom NAS automatisch“ erklärt genau, wie’s geht.