30.10.2014
Automatisierung
1. Teil: „Aufgabenplanung mit Cronjobs fürs NAS“
Aufgabenplanung mit Cronjobs fürs NAS
Autor: Andreas Dumont
Foto: Daneger / Istock
Cronjobs sind so etwas wie das Linux-Pendant zur Aufgabenplanung von Windows. Damit lassen sich wiederkehrende Abläufe für den ständigen Gebrauch automatisieren.
Dieser Artikel erklärt, wie Cronjobs grundsätzlich funktionieren. Der Artikel „Daten sichern vom NAS“ zeigt, wie Sie auf dem NAS Cronjobs zur automatischen Sicherung von Daten nutzen.
Namen und Begriffe
Zunächst gilt es, ein paar grundlegende Begriffe zum Thema Cronjobs zu klären.
- Cron: Das ist der übergeordnete Name für den Dienst, der zu festgelegten Zeitpunkten automatisch Programme oder Skripts startet. Der Name leitet sich vom griechischen Wort Chronos für Zeit ab, das auch in Wörtern wie chronologisch steckt.
- crond: Die eigentliche Arbeit erledigt der Cron-Daemon namens crond. Ein Daemon ist in etwa vergleichbar mit einem Systemdienst unter Windows. Einmal pro Minute sieht der Daemon crond in der crontab nach und führt pünktlich alle anstehenden Kommandos aus.
- crontab: Die crontab ist der Terminkalender des Cron-Systems. In dieser Datei steht, welcher Befehl wann und in welchen Intervallen ausgeführt werden soll. Auf NAS-Servern von Synology und in den meisten Linux-Distributionen liegt die crontab im Verzeichnis „/etc“. Auf Qnap-NAS-Servern liegt sie im Verzeichnis „/etc/config“.
- Cronjob: Ein Cronjob ist ein einzelner Eintrag in der crontab.
2. Teil: „So funktionieren Cronjobs auf Linux-Systemen“
So funktionieren Cronjobs auf Linux-Systemen
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:
Code-Beispiel
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.
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.
Code-Beispiel
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
Code-Beispiel
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
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.
Konferenz
Wird generative KI Software-Ingenieure ersetzen? DWX-Keynote
Auf der Developer Week '24 wird Professor Alexander Pretschner von der TU München eine der Keynotes halten. Er klärt auf, ob Ihr Job in Gefahr ist.
>>
10 Stationen
1.500 Händler bei der AVM-Roadshow
Der Fokus der Solution Tour 2024 von AVM lag auf den Themen Glasfaser, Wi-Fi 7 und Smart Home, und mehr als 1.500 Handelspartner folgten der Einladung des Herstellers an die insgesamt 10 Standorte in Deutschland.
>>
Test-Framework
Testautomatisierung mit C# und Atata
Atata ist ein umfassendes C#-Framework für die Web-Testautomatisierung, das auf Selenium WebDriver basiert. Es verwendet das Fluent Page Object Pattern und verfügt über ein einzigartiges Protokollierungssystem sowie Trigger-Funktionalitäten.
>>
Programmiersprache
Primärkonstruktoren in C# erleichtern den Code-Refactoring-Prozess
Zusammenfassen, was zusammen gehört: Dabei helfen die in C# 12 neu eingeführten Primärkonstruktoren, indem sie Code kürzer und klarer machen.
>>