18
Mrz
2005

Cron: crontab editieren

Der Cron-Daemon sorgt - ganz einfach - für das Ausführen von Befehlen zu bestimmten Zeitpunkten. Einmalig oder in regelmäßigen, zeitgesteuerten Intervallen. Beispielhaft könnte Cron die Sicherung einer Datenbank, das Erneuern von Webstatistiken oder das Versenden von Status-Mails übernehmen.



Diesen Daemon vorausgesetzt (standardmäßig installiert) kann man nun festlegen, wann etwas automatisiert ausgeführt werden soll. Befehl dazu:

# crontab -Parameter

Parameter sind:

-e == Editieren der Crontabelle

-r == Löschen der Crontabelle

-l == Anzeigen der Crontabelle



Neben der allgemeinen Cron-Tabelle unter

# /etc/crontab

gibt es aber auch User-eigene Crontabs, die unter

# /var/spool/cron

zu finden sind.



In diesem Zusammenhang interessant zu wissen: soll nicht jeder User die Möglichkeit haben, eine Crontab anzulegen, wird diese Beschränkung über die

# /etc/cron.allow

bzw.

# /etc/cron.deny

geregelt.

30   *    *   *   *   /opt/refresh.sh > /dev/nul
*    23   *   *   *   /opt/backup.sh


geöffnete Cron-Tabelle: crontab -e

Im Zugriff (hier mit dem Standard-Editor VI) sieht die Crontab dann aus wie in der Tabelle dargestellt.



Die ersten fünf Werte geben zusammen an, wann denn Befehl X ausgeführt werden soll. Dabei gilt die Reihenfolge:

1. Wert: Minute (Werte von 0-59 sind zulässig)

2. Wert: Stunde (Werte von 0-23 sind zulässig)

3. Wert: Tag innerhalb eine Monats (Werte von 0-32 sind zulässig)

4. Wert: Monat (Werte von 0-12 sind zulässig)

5. Wert: Wochentag (Werte von 0-7 sind zulässig, wobei 0 und 7 den Sonntag bezeichnen)

6. Wert: Angabe des Befehls/Skripts (sieh dazu auch: Ausführbarkeit, Dateirechte - chmod)



Dabei bedeutet * = beliebig



Darf's auch etwas mehr sein?



Soll ein Skript mehrmals am Tag ausgeführt werden, kann man den Stundenwert entweder als Liste mitgeben (getrennt durch Kommata) ...

# Ausführen um 11 & 23 Uhr

0 11,23 * * * /usr/test/aha.sh



oder

# Verschicken von Sylvester-Grüßen jeden 01. Jan, 00:01

1 0 1 1 * /usr/test/sylvestergruss.sh



Soll ein Skript in einer bestimmt Schrittlänge ausgeführt werden (alle zwei Stunden), würde man das so schreiben

# Ausführen alle 2 Stunden Uhr

0 */2 * * * /usr/test/aha.sh



bzw.

# Ausführen alle 2 Stunden, aber nur zwischen 8-17 Uhr

0 8-17/2 * * * /usr/test/aha.sh



Anderes Beispiel:

# Ausführen alle 2 Stunden, aber nur von Mo-Fr zwischen 8-17 # Uhr

0 8-17/2 * * 1-5 /usr/test/aha.sh


Die "alte" Methode

Neben dem direkten Editieren des Files gibt es auch die "alte Methode" mit etwas mehr Sicherheit, was ungewolltes Abspeichern angeht.

1. # crontab -l > /tmp/mycron

(Auslesen der Crontab, umleiten in eine Datei "mycron")

2. # vi /tmp/mycron

(Direktes Editieren der temporären Datei)

3. # crontab /tmp/mycron

(Aufnehmen der temporären Datei als Crontab)


Mögliche Fallen


Für Schnellschießer besteht die Elefantenfalle, "e" und "r" zu vertauschen. Die Tasten liegen nebeneinander und bedeuten bei der Eingabe von
# crontab -[Param]
den Unterschied zwischen Bearbeiten und Löschen!
Wird etwas regelmäßig über crontab ausgeführt, aber Sie finden den Eintrag mit
# crontab -e
nicht? Schauen Sie mal unter
# /var/spool/cron
Denn dort sind User-eigene crontabs!
Wenn etwas um 12:00 Uhr ausgeführt werden soll, muss die Notation wie folgt lauten:
# Ausführen bei null (0) Minuten, und zwölf (12) Stunden.
0 12 * * * /usr/test/aha.sh

# Mit * (beliebigen, allen) Minuten und zwölf (12) Stunden wird das
# Skript zu jeder Minute der zwölften Stunde ausgeführt.
* 12 * * * /usr/test/aha.sh

original link
logo

vireas

Suche

 

Aktuelle Beiträge

C i s c o  V...
can get always the latest version of C i s c o  V...
vireas - 12. Jul, 11:07
WM5: Custom text on today...
You can set a small custom text message on the bottom...
vireas - 15. Mai, 21:44
WM5: Increase Performance...
Boost Windows Mobile 5 performance up to 20 percent [HKLM\System\Stor ageManager\FATFS]...
vireas - 15. Mai, 21:42
WM5: Speed Up your Pocket...
This tweak might help improving visual performance...
vireas - 15. Mai, 21:41
Windows Ordner
-Es ist nicht möglich unter Windows einen Ordner anzulegen...
vireas - 22. Feb, 13:37

Archiv

März 2005
Mo
Di
Mi
Do
Fr
Sa
So
 
 3 
 4 
 5 
 6 
 7 
 8 
10
11
12
13
14
15
16
17
19
20
21
22
23
24
25
26
27
28
30
31
 
 
 
 

Status

Online seit 7702 Tagen
Zuletzt aktualisiert: 12. Jul, 11:07
vireas-plug

KnowHow
KnowHow - Mobiles
Tools
Profil
Abmelden
Weblog abonnieren