splitt-it.de

my digital lifestyle

Home » splitt-it.de » HOT News » crontab editieren (unterschiedliche Systeme)

Dieser Artikel gilt eher als Erinnerung für mich selber, aber vielleicht hilft er auch anderen… Die crontab zu editieren ist nicht sonderlich wild und es gibt schon massig Infos dazu im Internet, dennoch bin ich es leid immer speziell nach meinen Systemen zu suchen. Ich selber greife auf vier verschiedene Systeme zu:

  • QNAP-NAS
  • Synology-NAS
  • AIX
  • Webserver (Linux-Debian)

AIX / Debian

AIX bzw. Debian sind immer die Systeme, die alles über den Haufen werfen oder mich so verwirren, denn hier ist es so easy… Es gibt vorab verschiedene Wege die crontab zu editieren, der geläufigste ist wohl

crontab -e

Dieser Befehl funktioniert unter AIX und Dedian wunderbar. Der Editor ist dann im Regelfall vi, allerdings speichert man dann mit der Option „ZZ“ und nicht mit „wq“. Es sollte zwar m.E. das selbe bewirken, aber unter AIX funktioniert „wq“ nicht, allerdings „ZZ“.
Das war es schon, mit

crontab -l

kann man sich die aktuell aktive crontab für den angemeldeten Benutzer ansehen.

QNAP-NAS

Bei der QNAP-NAS können wir tatsächlich mit „crontab -e“ editieren, allerdings wird die Jobliste nicht aktualisiert. Es werden im Pfad /var/spool/cron/crontab lediglich temporäre Dateien angelegt… Deshalb kopiere ich mir die aktuelle crontab temporär weg, editiere diese und dann wird sie als aktuelle crontab-Datei eingelesen:

crontab -l > /tmp/crontab.tmp
vi /tmp/crontab.tmp
crontab /tmp/crontab.tmp
/etc/init.d/crond.sh restart

Das war es schon 😉

Synology-NAS

Synology macht es vom Prinzip her auch simpel, aber wieder ein komplett neues Verfahren. Hier wird direkt die Datei /etc/crontab editiert. Dabei ist wichtig, dass nur der root-User die Datei editieren kann.

Also muss der root-User die genannte Datei editieren und dann den cron-Daemon neu starten

vi /etc/crontab
/usr/syno/etc/rc.d/S04crond.sh stop
/usr/syno/etc/rc.d/S04crond.sh start

Auch hier sind wir dann vom Prinzip her durch… Aber es ist wichtig zu wissen, dass der Aufbau der Crontan etwas abweicht:

#minute hour    mday    month   wday    who     command
|	|	|	|	|	|	|
|	|	|	|	|	|	+--Programm oder Script
|	|	|	|	|	+----------user, der Ausführung startet
|	|	|	|	+------------------Wochentag (0-7 oder Namen)
|	|	|	|			   0 & 7 stehen für Sonntag
|	|	|	+--------------------------Monat im Jahr (1-12)
|	|	+----------------------------------Tag des Monats (1-31 oder Namen)
|	+------------------------------------------Stunde (0-23)
+--------------------------------------------------Minute (0-59)

Hier ist also noch ein who hinzugekommen, so kann man auch die Cron-Jobs für unterschiedliche User umsetzen…

Aufbau einer crontab-Datei

Hier muss ich auch immer wieder nachschauen 😉 Vom Prinzip her ist es einfach, ich nenne einfach mal ein paar Beispiele im Anschluss

#minute hour    mday    month   wday    command
|	|	|	|	|	|
|	|	|	|	|	+----------Programm oder Script
|	|	|	|	+------------------Wochentag (0-7 oder Namen)
|	|	|	|			   0 & 7 stehen für Sonntag
|	|	|	+--------------------------Monat im Jahr (1-12)
|	|	+----------------------------------Tag des Monats (1-31 oder Namen)
|	+------------------------------------------Stunde (0-23)
+--------------------------------------------------Minute (0-59)

Beispiel 1 (Ein Command wird täglich um 13 Uhr ausgeführt):

0 13 * * * /etc/bin/sonstiger-Command

Beispiel 2 (Ein Command wird um 2 und um 14 Uhr ausgeführt):

0 2,14 * * * /etc/bin/sonstiger-Command

Beispiel 3 (Ein Command wird stündlich zu jeder vollen und halben Stunde ausgeführt):

0,30 * * * * /etc/bin/sonstiger-Command

Beispiel 4 (Ein Command wird am ersten Tag eines Monats um 5 Uhr ausgeführt):

0 5 1 * * /etc/bin/sonstiger-Command

Beispiel 5 (Ein Command wird am ersten und 15 Tag eines ungeraden Monats um 5 Uhr ausgeführt)::

0 5 1,15 1,3,5,7,9,11 * /etc/bin/sonstiger-Command

Beispiel 6 (Ein Command wird jeden Montag um 5 Uhr ausgeführt)::

0 5 * * 1 /etc/bin/sonstiger-Command

Bei weiteren Fragen nutzt doch einfach die Kommentarfunktion…

splitti

Technik-Fan
Leidenschaft: TimeLapse / HyperLase


?