Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

tux:cron [2011/05/23 11:31]
wikisysop [/etc/cron.d]
tux:cron [2012/01/17 14:07] (aktuell)
wikisysop [/etc/cron.d]
Zeile 17: Zeile 17:
 </​code>​ </​code>​
  
--> So bedeutet zB >><fc #008000>15 8 * * * mpg321 -z /​home/​pronto/​mp3/​*</fc><<dass jeden Tag pünktlich um viertel nach Acht alle Dateien im Verzeichnis >>/​home/​pronto/​mp3<<​ in zufälliger Reihenfolge abgespielt werden. Wer am Wochenende gerne länger schlafen möchteersetzt das letzte Sternchen durch die entsprechenden Wochentage ​(durch Komma getrenntin zB >><​fc #008000>​1,​2,​3,​4,​5</​fc><< oder definiert einen ganzen Bereich zB mit >><​fc #008000>​1-5</​fc><<. Auch Kombinationen sind MöglichSteht im vierten Felddas den Monat bezeichnet, zB >><​fc #008000>​1-4,​7,​10-12</​fc><< ist damit von Januar bis April, Juli und Oktober bis Dezember gemeint.+**Beispiele:​** 
 + 
 +<code xorg_conf|Jeden Tag um 08:15 Uhr>15 8 * * *</code> 
 + 
 +<code xorg_conf|Nur MoDiMi, Do, Fr um 08:15 (Variante 1)>15 8 * * 1,​2,​3,​4,​5</​code> 
 + 
 +<code xorg_conf|Nur Mo, Di, Mi, Do, Fr um 08:15 (Variante 2)>15 8 * * 1-5</code> 
 + 
 +<code xorg_conf|Jeden Tag um 08:15 aber nur im Januar bis AprilJuli und Oktober bis Dezember>15 8 * 1-4,​7,​10-12 ​</code> 
 + 
 +<code xorg_conf|Jede fünfte ​und 35Minute einer Stunde>​05,​35 * * * *</​code>​ 
 + 
 +<code xorg_conf|Alle fünf Minuten (umständliche Variante)>​5,​10,​15,​20,​25,​30,​35,​40,​45,​50,​55 * * * *</​code>​ 
 + 
 +<code xorg_conf|Alle fünf Minuten (elegante Variante)>​*/​5 * * * *</​code>​ 
 + 
 +<code xorg_conf|Alle zwei Stunden>​* */2 * * *</​code>​
  
-Möchten Sie statt zu einem festgelegten Startzeitpunkt einen Task zB alle fünf Minuten laufen lassen, stellen Sie im Minuten Feld einfach ein >><​fc #​008000>​*/</​fc><<​ voraus. Alle fünf Minuten wäre demnach >><​fc #​008000>​*/​5 * * * *</​fc><<​ oder alle zwei Stunden >><​fc #​008000>​* */2 * * *</​fc><<​ usw.  
  
 ==== »crontab« anlegen und bearbeiten ==== ==== »crontab« anlegen und bearbeiten ====
Zeile 58: Zeile 73:
 ==== Die systemweite »crontab« → /​etc/​crontab ==== ==== Die systemweite »crontab« → /​etc/​crontab ====
  
-Neben den >>​crontabs<<​ der einzelnen Benutzer gibt es mit der >>/​etc/​crontab<<​ eine systemweite Cron-Tabelle,​ die Aufgaben der Systemverwaltung automatisiert. Im Gegensatz zu den Cron-Tabellen der einzelnen Benutzer gibt es hier ein siebtes Feld, welches den Usernamen enthält unter welchen der Befehl ausgeführt wird. Eine typische >>​crontab<<​ auf einem Debian Linux System sieht zB folgendermaßen aus:+Neben den >><fc #008000>​crontabs</fc><< der einzelnen Benutzer gibt es mit der >><fc #008000>/​etc/​crontab</fc><< eine systemweite Cron-Tabelle,​ die Aufgaben der Systemverwaltung automatisiert. Im Gegensatz zu den Cron-Tabellen der einzelnen Benutzer gibt es hier ein siebtes Feld, welches den Usernamen enthält unter welchen der Befehl ausgeführt wird. Eine typische >><fc #008000>crontab</fc><< auf einem Debian Linux System sieht zB folgendermaßen aus:
  
 <code bash|/​etc/​crontab>​ <code bash|/​etc/​crontab>​
Zeile 76: Zeile 91:
 Die >><​fc #​008000>​test</​fc><<​((http://​unixhelp.ed.ac.uk/​CGI/​man-cgi?​test)) Anweisung >><​fc #​008000>​test -x /​usr/​sbin/​anacron</​fc><<​ bewirkt, dass die Programme in >><​fc #​008000>/​etc/​cron.[daily|weekly|monthly]</​fc><<​ nur dann ausgeführt werden, wenn >><​fc #​008000>​anacron</​fc><<​((http://​linux.die.net/​man/​8/​anacron)) **nicht** eingerichtet ist, was standardmäßig auch nicht der Fall ist und bei einem 24/7 Server auch nicht notwendig ist, da dieser zu jedem geplanten Zeitpunkt läuft. Wäre >><​fc #​008000>​anacron</​fc><<​ eingerichtet,​ würden die Befehle auch dann beim Systemstart (mit einer konfigurierbaren Verzögerung) ausgeführt werden, wenn das System zum angegebenen Zeitpunkt nicht eingeschaltet war, >>​cron<<​ tut dies **nicht**. Die Kommandoverkettung >><​fc #​008000>​||</​fc><<​ (= EXOR ≙ exklusives Oder) führt das zweite Kommando nur dann aus, wenn das erste **erfolglos** war. Andernfalls würden >>​cron<<​ und >>​anacron<<​ beide versuchen die Aufträge in >><​fc #​008000>/​etc/​cron.[daily|weekly|monthly]</​fc><<​ auszuführen. Die >><​fc #​008000>​run-parts</​fc><<​((http://​unixhelp.ed.ac.uk/​CGI/​man-cgi?​run-parts+8)) Anweisung führt dann jedes Skript im angegeben Verzeichnis aus.  Die >><​fc #​008000>​test</​fc><<​((http://​unixhelp.ed.ac.uk/​CGI/​man-cgi?​test)) Anweisung >><​fc #​008000>​test -x /​usr/​sbin/​anacron</​fc><<​ bewirkt, dass die Programme in >><​fc #​008000>/​etc/​cron.[daily|weekly|monthly]</​fc><<​ nur dann ausgeführt werden, wenn >><​fc #​008000>​anacron</​fc><<​((http://​linux.die.net/​man/​8/​anacron)) **nicht** eingerichtet ist, was standardmäßig auch nicht der Fall ist und bei einem 24/7 Server auch nicht notwendig ist, da dieser zu jedem geplanten Zeitpunkt läuft. Wäre >><​fc #​008000>​anacron</​fc><<​ eingerichtet,​ würden die Befehle auch dann beim Systemstart (mit einer konfigurierbaren Verzögerung) ausgeführt werden, wenn das System zum angegebenen Zeitpunkt nicht eingeschaltet war, >>​cron<<​ tut dies **nicht**. Die Kommandoverkettung >><​fc #​008000>​||</​fc><<​ (= EXOR ≙ exklusives Oder) führt das zweite Kommando nur dann aus, wenn das erste **erfolglos** war. Andernfalls würden >>​cron<<​ und >>​anacron<<​ beide versuchen die Aufträge in >><​fc #​008000>/​etc/​cron.[daily|weekly|monthly]</​fc><<​ auszuführen. Die >><​fc #​008000>​run-parts</​fc><<​((http://​unixhelp.ed.ac.uk/​CGI/​man-cgi?​run-parts+8)) Anweisung führt dann jedes Skript im angegeben Verzeichnis aus. 
  
-Sie können sich demnach auch dieser bereits vorkonfigurierten Tasks bedienen und Ihr Skript einfach in ein passendes Verzeichnis (daily, weekly oder monthly) legen und >>​cron<<​ den Rest erledigen lassen, wenn sich der Zeitpunkt mit Ihren Anforderungen vereinbaren lässt. Aber auch hier sollten Sie mit Umsicht und Bedacht ans Werk gehen. Vermeiden Sie last-intensive Jobs in den Standardtasks,​ da ja zum selben Zeitpunkt die anderen Jobs auch ausgeführt werden. Legen Sie sich hierfür einen neuen Eintrag in der >>​crontab<<​ an, der sich mit den vorhandenen Systemressourcen besser vereinbaren lässt oder verwenden Sie >><​fc #​008000>/​etc/​cron.d</​fc><< ​+Sie können sich demnach auch dieser bereits vorkonfigurierten Tasks bedienen und Ihr Skript einfach in ein passendes Verzeichnis (daily, weekly oder monthly) legen und >>​cron<<​ den Rest erledigen lassen, wenn sich der Zeitpunkt mit Ihren Anforderungen vereinbaren lässt. Aber auch hier sollten Sie mit Umsicht und Bedacht ans Werk gehen. Vermeiden Sie Last-intensive Jobs in den Standardtasks,​ da ja zum selben Zeitpunkt die anderen Jobs auch ausgeführt werden. Legen Sie sich hierfür einen neuen Eintrag in der >><fc #008000>crontab</fc><< an, der sich mit den vorhandenen Systemressourcen besser vereinbaren lässt oder verwenden Sie >><​fc #​008000>/​etc/​cron.d</​fc><< ​
  
  
Zeile 97: Zeile 112:
 \\ \\  \\ \\ 
  --- //pronto 2010/11/01 00:12//  --- //pronto 2010/11/01 00:12//
-<fbl> 
 {{keywords>​crontab cron.houly cron.daily cron.weekly cron.monthly cron.d anacron run-parts}} {{keywords>​crontab cron.houly cron.daily cron.weekly cron.monthly cron.d anacron run-parts}}
tux/cron.1306143118.txt.gz (16147 views) · Zuletzt geändert: 2011/05/23 11:31 von wikisysop
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0