Bildquelle: Wikipedia

Crond des WRT54Gx

aufgaben | automatisch | automatismus | cron | cronjob | routine

Einleitung

Da der WRT54Gx wie eine "kleiner" Rechner funktioniert und auch ein entsprechendes Betriebssystem bietet, hat er auch die Vorteile, welche das Leben von vielen Menschen vereinfachen. Sprich, es lassen sich Routine-Aufgaben automatisieren.

Konfiguration von crond

Wenn noch nicht vorhanden muss ein Verzeichnis crontabs angelegt werden.

root@wrt$ mkdir /etc/crontabs

Normalerweise ist das Verzeichnis /var/spool/crontabs das Standard-Verzeichnis für die Konfiguration, aber da /var bei jedem Neustart gelöscht wird, muss die Konfiguration an einem anderen Ort gespeichert werden.

Da crond normalerweise nicht läuft, muss die Datei /etc/init.d/S99done am Ende ergänzt werden.

root@wrt$ start crond /usr/sbin/crond -c /etc/crontabs

Anlegen eines Files und erzeugen eines symbolischen Links

root@wrt$ touch /etc/crontabs/root
root@wrt$ ln -sf /etc/crontabs/root /etc/crontab

crond kann nun manuell gestartet werden.

root@wrt$ /usr/sbin/crond -c /etc/crontabs

Kontrolle, ob crond läuft

root@wrt$ logread

Die Ausgabe sollte in etwa so aussehen

Sep 21 12:36:54 (none) kern.notice crond[687]: crond 2.3.2 dillon, started, log level 8

Folgendes Kommando beendet crond und das zweite startet den Dienst wieder

root@wrt$ killall crond
/usr/sbin/crond -c /etc/crontabs

Hinzufügen von Aufgaben zu crond

Dafür muss in die Datei /etc/init.d/S99done am Ende ein Eintrag gemacht werden.

# Diese Aktion wird jede Stunde ausgeführt, jeden Tag
01 * * * * /Pfad/Kommando > /dev/null

Die Reihenfolge der Zeitangabe ergibt sich aus folgendem Schema. Der * bedeute immer.

* * * * * auszuführender Befehl
- - - - -
| | | | |
| | | | ----- Wochentag (0 - 7) (Sonntag =0 oder =7)
| | | ------- Monat (1 - 12)
| | --------- Tag (1 - 31)
| ----------- Stunde (0 - 23)
------------- Minute (0 - 59)

Als Beispiel

# Diese Aktion wird jeden Tag von 6 bis 23 Uhr alle 15 min ausgeführt und schreibt ein Log-File
 */15  6-23 * * * /Pfad/Kommando >> /var/log/Log-File.log