06.05.2024, 06:18 UhrDeutsch | English
Hallo Gast [ Registrierung | Anmelden ]
Letzte Änderung am 2006-08-20 08:47:20 von RoEn

Erweiterungen:
zurück

Löschungen:




Editiert am 2006-06-27 12:43:42 von lorenz Formatierung

Erweiterungen:
Ebenfalls verwendete Begriffe: cronjobs, Cron-Dämon,... Da an verschiedenen Stellen schon öfters nachgefragt wurde, hier mal eine sinnvolle Auflistung der Funktionen des Cron-Daemons:
Folgender Text wurde kopiert und angepasst von http://www.linux-fuer-alle.de/doc_show.php?docid=45&catid=15:
Der Cron-Daemon ist ein Programm, welches im Hintergrund läuft und zu bestimmten Zeiten andere Programme ausführen kann. Dies ist besonders dann von Vorteil, wenn man leicht automatisierbare Aufgaben zu erledigen hat, wie etwa das Erstellen einer Sicherheitskopie von wichtigen Daten. In diesem Artikel findest du ein einfaches Beispiel, wie man dem cron mitteilt, wann er eine Aufgabe erledigen soll. Bei den meisten Distributionen wird gar nicht erst gefragt, ob du den cron haben willst. Der ist dann einfach mit dabei. Ob das gut ist oder nicht, ist eine andere Thematik. Aber so kannst du das hier Vorgestellte wenigstens gleich ausprobieren.
Zunächst einmal ist es sinnvoll, einen Test zu machen, bevor man schwerwiegende und umfangreiche Programmstarts durchführt. Hier soll ein kleines Script dazu dienen, die Aktivität des cron nachzuvollziehen:
#!/bin/bash
date >> $HOME/CRON-DATEI.txt
exit 0

# chmod 755 cronscript.sh

Der Einfachheit halber lässt du diese Datei für diesen Test in deinem Home-Verzeichnis. Ein richtiges Backup-Script würde man natürlich in den ausführbaren Pfad kopieren, also etwa nach /usr/bin oder so. Wenn das Script nicht in einem der Verzeichnisse ist, welche durch Eingabe von
# echo $PATH

# crontab -e

# export EDITOR=emacs

MINUTE STUNDE TAG MONAT WOCHENTAG BEFEHL

Platzhalter Mögliche Werte
MINUTE 0-59
STUNDE 0-23
TAG 1-31
MONAT 1-12
WOCHENTAG 0-6, wobei 0 Sonntag bedeutet
BEFEHL Dies ist der auszuführende Befehl! Alles, was danach kommt, wird als Argument an den Befehl übergeben.

33 4 31 2 0 $HOME/cronscript.sh

0 8,12,21 * * * $HOME/cronscript.sh

#TEST!
* * * * * $HOME/cronscript.sh

Wenn alles klappt, dann sollte in der Datei CRON-DATEI.txt in deinem Home-Verzeichnis mit der Zeit eine lange Liste von Datums-/Zeiteinträgen entstehen. Falls nicht, kann es sein, dass du als normaler User keine Erlaubnis hast, cronstabs anzulegen. Dann musst du, falls nicht vorhanden, eine Datei /etc/cron.allow anlegen und deinen Usernamen reinschreiben. Neben dieser User-crontab gibt es auch noch systemweite crontabs, die man (zumindest bei Debian) unter /etc/cron.d findet. Hierbei gibt es einen zusätzlichen Eintrag vor dem Kommando, der für den Usernamen vorbehalten ist, mit dessen Rechten das Kommando ausgeführt werden soll. Unter /etc/cron.daily, /etc/cron.weekly und /etc/cron.monthly kann man ganz normale Shell-Scripte ablegen, die dann bei Debian so in etwa täglich, wöchentlich und monatlich abgearbeitet werden, sofern dies möglich ist. Diese Scripte folgen nicht der crontab-Syntax und sind natürlich genauso wie die crontabs unter /etc/cron.d nur vom User root anzulegen.
von NorbertKanotix:
0 * * * *  /usr/sbin/ntpdate ptbtime1.ptb.de>/dev/null 2>&1

steht, wird dieser Befehl stündlich ausgeführt. Wenn man jetzt in die letzte Zeile der /etc/init.d/bootmisc.sh den Befehl "cron" einträgt, wird beim Starten der Cron-Daemon aktiviert. Stündlich wird also die Uhr gestellt.


Löschungen:
auch verwendete Begriffe: cronjobs, Cron-Dämon,...
Da an verschiedenen Stellen schon öfters Nachgefragt wurde, hier mal eine sinnvolle Auflistung der Funktionen des Cron-Daemons:
Folgender Text wurde kopiert und angepasst von ::
Der Cron-Daemon ist ein Programm welches im Hintergrund läuft und zu bestimmten Zeiten andere Programme ausführen kann. Dies ist besonders dann von Vorteil, wenn man leicht automatisierbare Aufgaben zu erledigen hat, wie etwa das Erstellen einer Sicherheitskopie von wichtigen Daten. In diesem Artikel findest du ein einfaches Beispiel, wie man dem cron mitteilt wann er eine Aufgabe erledigen soll. Bei den meisten Distributionen wird gar nicht erst gefragt, ob du den cron haben willst. Der ist dann einfach mit dabei. Ob das gut ist oder nicht, ist eine andere Thematik. Aber so kannst du das hier Vorgestellte wenigstens gleich ausprobieren.
Zunächst einmal ist es sinnvoll, einen Test zu machen, bevor man schwerwiegende und umfangreiche Programmstarts durchführt. Hier soll ein kleines Script dazu dienen, die Aktivität des cron nachzuvollziehen:
:code:#!/bin/bash
date >> $HOME/CRON-DATEI.txt
exit 0:code:
:code:# chmod 755 cronscript.sh:code:
Der Einfachheit halber lässt du diese Datei für diesen Test in deinem Home-Verzeichnis. Ein richtiges Backup-Script würde man natürlich in den ausführbaren Pfad kopieren, also etwa nach /usr/bin oder so. Wenn das Script nicht in einem der Verzeichnisse ist, welche durch Eingabe von
:code:# echo $code :
:code:# crontab -e:code:
:code:# export EDITOR=emacs:code:
:code:MINUTE STUNDE TAG MONAT WOCHENTAG code :
|||0c Platzhalter || mögliche Werte ||
|| MINUTE || 0-59 ||
|| STUNDE || 0-23 ||
||TAG || 1-31||
||MONAT || 1-12 ||
||WOCHENTAG || 0-6, wobei 0 Sonntag bedeutet ||
||BEFEHL || Dies ist der auszuführende Befehl!
Alles was danach kommt,
wird als Argument dem Befehl übergeben.|||
:code:33 4 31 2 0 $HOME/cronscript.sh:code:
:code:0 8,12,21 * * * $HOME/cronscript.sh:code:
:code:#TEST!
* * * * * $HOME/cronscript.sh:code:
Wenn alles klappt, dann sollte in der Datei CRON-DATEI.txt in deinem Home-Verzeichnis mit der Zeit eine lange Liste von Datums-/Zeiteinträgen entstehen. Falls nicht, kann es sein, dass du als normaler User keine Erlaubnis hast, cronstabs anzulegen. Dann musst du, falls nicht vorhanden, eine Datei /etc/cron.allow anlegen und deinen Usernamen reinschreiben. Neben dieser User-crontab gibt es auch noch systemweite crontabs, die man (zumindest bei Debian) unter /etc/cron.d findet. Hierbei gibt es einen zusätzlichen Eintrag vor dem Kommando, der für den Usernamen vorbehalten ist, mit dessen Rechten das Kommando ausgeführt werden soll. Unter /etc/cron.daily, /etc/cron.weekly und /etc/cron.monthly kann man ganz normale Shell-Scripte ablegen, die dann bei Debian so in etwa täglich, wöchentlich und monatlich abgearbeitet werden, sofern dies möglich ist. Diese Scripte folgen nicht der crontab-Syntax und sind natürlich genauso wie die crontabs unter /etc/cron.d nur vom User root anzulegen.
von NorbertKanotix?:
:code:0 * * * * /usr/sbin/ntpdate ptbtime1?.ptb.de>/dev/null 2>&1:code:
steht, wird dieser Befehl stündlich ausgeführt. Wenn man jetzt in die letzte Zeile der /etc/init.d/bootmisc.sh den Befehl "cron" einträgt, wird beim Starten der Cron-Daemon aktiviert. Stündlich wird also die Uhr gestellt.


Editiert am 2006-06-09 23:30:12 von x-un-i

Erweiterungen:

Der Cron-Daemon

auch verwendete Begriffe: cronjobs, Cron-Dämon,...
(cron, cronos -> griech. für Zeit; Cronos war in der greichischen Mythologie der Gott, welcher über die Zeit herrschte)


Da an verschiedenen Stellen schon öfters Nachgefragt wurde, hier mal eine sinnvolle Auflistung der Funktionen des Cron-Daemons:

Folgender Text wurde kopiert und angepasst von ::



Der Cron-Daemon ist ein Programm welches im Hintergrund läuft und zu bestimmten Zeiten andere Programme ausführen kann. Dies ist besonders dann von Vorteil, wenn man leicht automatisierbare Aufgaben zu erledigen hat, wie etwa das Erstellen einer Sicherheitskopie von wichtigen Daten. In diesem Artikel findest du ein einfaches Beispiel, wie man dem cron mitteilt wann er eine Aufgabe erledigen soll. Bei den meisten Distributionen wird gar nicht erst gefragt, ob du den cron haben willst. Der ist dann einfach mit dabei. Ob das gut ist oder nicht, ist eine andere Thematik. Aber so kannst du das hier Vorgestellte wenigstens gleich ausprobieren.

Zunächst einmal ist es sinnvoll, einen Test zu machen, bevor man schwerwiegende und umfangreiche Programmstarts durchführt. Hier soll ein kleines Script dazu dienen, die Aktivität des cron nachzuvollziehen:

:code:#!/bin/bash

date >> $HOME/CRON-DATEI.txt

exit 0:code:

Nachdem man nun den obigen Text in einer Datei namens "cronscript.sh" abgespeichert hat, muss man noch sicherstellen, dass diese auch ausführbar ist:

:code:# chmod 755 cronscript.sh:code:

Der Einfachheit halber lässt du diese Datei für diesen Test in deinem Home-Verzeichnis. Ein richtiges Backup-Script würde man natürlich in den ausführbaren Pfad kopieren, also etwa nach /usr/bin oder so. Wenn das Script nicht in einem der Verzeichnisse ist, welche durch Eingabe von

:code:# echo $code :

angezeigt werden, dann muss man den kompletten Pfad zum Script mit angeben. Nun soll es darum gehen, eine so genannte "crontab" anzulegen. Die crontab ist quasi die Tabelle bzw. Datei in der steht, wann der cron welches Kommando ausführen soll. Bei fast allen gängigen Linux-Distributionen kannst du deine persönliche crontab verändern, indem du als normaler User

:code:# crontab -e:code:

eingibst. Dann erscheint ein voreingestellter Editor und zeigt wahrscheinlich eine leere Datei, wenn du noch keine crontab hast. Wenn dir der Editor nicht passt, dann gib doch einfach

:code:# export EDITOR=emacs:code:

ein. - Du kannst hier "emacs" natürlich auch durch jeden anderen Editor ersetzen, der bei dir läuft. - Was muss in die crontab jetzt rein? Die Syntax einer Zeile der crontab sieht folgendermaßen aus:

:code:MINUTE STUNDE TAG MONAT WOCHENTAG code :

Dabei gilt:

|||0c Platzhalter || mögliche Werte ||
|| MINUTE || 0-59 ||
|| STUNDE || 0-23 ||
||TAG || 1-31||
||MONAT || 1-12 ||
||WOCHENTAG || 0-6, wobei 0 Sonntag bedeutet ||
||BEFEHL || Dies ist der auszuführende Befehl!
Alles was danach kommt,
wird als Argument dem Befehl übergeben.|||

Als Sonderzeichen steht das "*" zur Verfügung, was soviel wie "egal" bedeutet. Sollen mehrere Möglichkeiten angeboten werden, sind diese ohne Leerzeichen mit einem Komma voneinander zu trennen. Zeitspannen gibt man an, indem man einen Bindestrich ohne Leerzeichen zwischen Anfangs- und Endwert setzt. Immer dann, wenn die ersten fünf Einträge in der crontab mit der Systemzeit übereinstimmen, wird der darauf folgende Befehl ausgeführt. Ein Beispiel:

:code:33 4 31 2 0 $HOME/cronscript.sh:code:
...führt also das obige Script jeden Sonntag um 4:33 Uhr aus, der auf den 31. Februar fällt. Also nicht wirklich oft. Je nachdem, was man machen möchte, sind da Einträge wie dieser hier schon sinnvoller:

:code:0 8,12,21 * * * $HOME/cronscript.sh:code:
...führt das Script nun an jedem beliebigen Tag um 8, 12 und 21 Uhr aus, sofern der Rechner zu diesem Zeitpunkt läuft. Für einen kleinen Test kannst du ja eine crontab schreiben, die das Script jede Minute ausführt:

:code:#TEST!
* * * * * $HOME/cronscript.sh:code:

Wenn alles klappt, dann sollte in der Datei CRON-DATEI.txt in deinem Home-Verzeichnis mit der Zeit eine lange Liste von Datums-/Zeiteinträgen entstehen. Falls nicht, kann es sein, dass du als normaler User keine Erlaubnis hast, cronstabs anzulegen. Dann musst du, falls nicht vorhanden, eine Datei /etc/cron.allow anlegen und deinen Usernamen reinschreiben. Neben dieser User-crontab gibt es auch noch systemweite crontabs, die man (zumindest bei Debian) unter /etc/cron.d findet. Hierbei gibt es einen zusätzlichen Eintrag vor dem Kommando, der für den Usernamen vorbehalten ist, mit dessen Rechten das Kommando ausgeführt werden soll. Unter /etc/cron.daily, /etc/cron.weekly und /etc/cron.monthly kann man ganz normale Shell-Scripte ablegen, die dann bei Debian so in etwa täglich, wöchentlich und monatlich abgearbeitet werden, sofern dies möglich ist. Diese Scripte folgen nicht der crontab-Syntax und sind natürlich genauso wie die crontabs unter /etc/cron.d nur vom User root anzulegen.

So, wenn du jetzt mit cron etwas sinnvolles machen willst (ein Backup?), dann musst du nur noch das cronscript umschreiben und umbenennen, eine vernünftige Zeitfestlegung wählen und das Script optimalerweise im Pfad speichern. Das "$HOME/" vor dem Namen des Scriptes in der crontab musst du dann wegnehmen. Ich empfehle die dauerhafte Installation der crontab bzw. des Scriptes in den Verzeichnissen unterhalb von /etc vorzunehmen.



von NorbertKanotix?:

Der Cron-Daemon liest seine Befehle aus der /etc/crontab. Wenn dort z. B.

:code:0 * * * * /usr/sbin/ntpdate ptbtime1?.ptb.de>/dev/null 2>&1:code:

steht, wird dieser Befehl stündlich ausgeführt. Wenn man jetzt in die letzte Zeile der /etc/init.d/bootmisc.sh den Befehl "cron" einträgt, wird beim Starten der Cron-Daemon aktiviert. Stündlich wird also die Uhr gestellt.


Löschungen:

Der Cron-Daemon

auch verwendete Begriffe: cronjobs, Cron-Dämon,...
(cron, cronos -> griech. für Zeit; Cronos war in der greichischen Mythologie der Gott, welcher über die Zeit herrschte)


Da an verschiedenen Stellen schon öfters Nachgefragt wurde, hier mal eine sinnvolle Auflistung der Funktionen des Cron-Daemons:

Folgender Text wurde kopiert und angepasst von ::


Der Cron-Daemon ist ein Programm welches im Hintergrund läuft und zu bestimmten Zeiten andere Programme ausführen kann. Dies ist besonders dann von Vorteil, wenn man leicht automatisierbare Aufgaben zu erledigen hat, wie etwa das Erstellen einer Sicherheitskopie von wichtigen Daten. In diesem Artikel findest du ein einfaches Beispiel, wie man dem cron mitteilt wann er eine Aufgabe erledigen soll. Bei den meisten Distributionen wird gar nicht erst gefragt, ob du den cron haben willst. Der ist dann einfach mit dabei. Ob das gut ist oder nicht, ist eine andere Thematik. Aber so kannst du das hier Vorgestellte wenigstens gleich ausprobieren.

Zunächst einmal ist es sinnvoll, einen Test zu machen, bevor man schwerwiegende und umfangreiche Programmstarts durchführt. Hier soll ein kleines Script dazu dienen, die Aktivität des cron nachzuvollziehen:

:code:#!/bin/bash

date
$HOME/CRON-DATEI.txt

exit 0:code:

Nachdem man nun den obigen Text in einer Datei namens "cronscript.sh" abgespeichert hat, muss man noch sicherstellen, dass diese auch ausführbar ist:

:code:# chmod 755 cronscript.sh:code:

Der Einfachheit halber lässt du diese Datei für diesen Test in deinem Home-Verzeichnis. Ein richtiges Backup-Script würde man natürlich in den ausführbaren Pfad kopieren, also etwa nach /usr/bin oder so. Wenn das Script nicht in einem der Verzeichnisse ist, welche durch Eingabe von

:code:# echo $code :

angezeigt werden, dann muss man den kompletten Pfad zum Script mit angeben. Nun soll es darum gehen, eine so genannte "crontab" anzulegen. Die crontab ist quasi die Tabelle bzw. Datei in der steht, wann der cron welches Kommando ausführen soll. Bei fast allen gängigen Linux-Distributionen kannst du deine persönliche crontab verändern, indem du als normaler User

:code:# crontab -e:code:

eingibst. Dann erscheint ein voreingestellter Editor und zeigt wahrscheinlich eine leere Datei, wenn du noch keine crontab hast. Wenn dir der Editor nicht passt, dann gib doch einfach

:code:# export EDITOR=emacs:code:

ein. - Du kannst hier "emacs" natürlich auch durch jeden anderen Editor ersetzen, der bei dir läuft. - Was muss in die crontab jetzt rein? Die Syntax einer Zeile der crontab sieht folgendermaßen aus:

:code:MINUTE STUNDE TAG MONAT WOCHENTAG code :

Dabei gilt:

|||0c Platzhalter || mögliche Werte ||
|| MINUTE || 0-59 ||
|| STUNDE || 0-23 ||
||TAG || 1-31||
||MONAT || 1-12 ||
||WOCHENTAG || 0-6, wobei 0 Sonntag bedeutet ||
||BEFEHL || Dies ist der auszuführende Befehl!
Alles was danach kommt,
wird als Argument dem Befehl übergeben.|||

Als Sonderzeichen steht das "*" zur Verfügung, was soviel wie "egal" bedeutet. Sollen mehrere Möglichkeiten angeboten werden, sind diese ohne Leerzeichen mit einem Komma voneinander zu trennen. Zeitspannen gibt man an, indem man einen Bindestrich ohne Leerzeichen zwischen Anfangs- und Endwert setzt. Immer dann, wenn die ersten fünf Einträge in der crontab mit der Systemzeit übereinstimmen, wird der darauf folgende Befehl ausgeführt. Ein Beispiel:

:code:33 4 31 2 0 $HOME/cronscript.sh:code:
...führt also das obige Script jeden Sonntag um 4:33 Uhr aus, der auf den 31. Februar fällt. Also nicht wirklich oft. Je nachdem, was man machen möchte, sind da Einträge wie dieser hier schon sinnvoller:

:code:0 8,12,21 * * * $HOME/cronscript.sh:code:
...führt das Script nun an jedem beliebigen Tag um 8, 12 und 21 Uhr aus, sofern der Rechner zu diesem Zeitpunkt läuft. Für einen kleinen Test kannst du ja eine crontab schreiben, die das Script jede Minute ausführt:

:code:#TEST!
* * * * * $HOME/cronscript.sh:code:

Wenn alles klappt, dann sollte in der Datei CRON-DATEI.txt in deinem Home-Verzeichnis mit der Zeit eine lange Liste von Datums-/Zeiteinträgen entstehen. Falls nicht, kann es sein, dass du als normaler User keine Erlaubnis hast, cronstabs anzulegen. Dann musst du, falls nicht vorhanden, eine Datei /etc/cron.allow anlegen und deinen Usernamen reinschreiben. Neben dieser User-crontab gibt es auch noch systemweite crontabs, die man (zumindest bei Debian) unter /etc/cron.d findet. Hierbei gibt es einen zusätzlichen Eintrag vor dem Kommando, der für den Usernamen vorbehalten ist, mit dessen Rechten das Kommando ausgeführt werden soll. Unter /etc/cron.daily, /etc/cron.weekly und /etc/cron.monthly kann man ganz normale Shell-Scripte ablegen, die dann bei Debian so in etwa täglich, wöchentlich und monatlich abgearbeitet werden, sofern dies möglich ist. Diese Scripte folgen nicht der crontab-Syntax und sind natürlich genauso wie die crontabs unter /etc/cron.d nur vom User root anzulegen.

So, wenn du jetzt mit cron etwas sinnvolles machen willst (ein Backup?), dann musst du nur noch das cronscript umschreiben und umbenennen, eine vernünftige Zeitfestlegung wählen und das Script optimalerweise im Pfad speichern. Das "$HOME/" vor dem Namen des Scriptes in der crontab musst du dann wegnehmen. Ich empfehle die dauerhafte Installation der crontab bzw. des Scriptes in den Verzeichnissen unterhalb von /etc vorzunehmen.


von NorbertKanotix?:
Der Cron-Daemon liest seine Befehle aus der /etc/crontab. Wenn dort z. B.

:code:0 * * * * /usr/sbin/ntpdate ptbtime1?.ptb.de>/dev/null 2>&1:code:

steht, wird dieser Befehl stündlich ausgeführt. Wenn man jetzt in die letzte Zeile der /etc/init.d/bootmisc.sh den Befehl "cron" einträgt, wird beim Starten der Cron-Daemon aktiviert. Stündlich wird also die Uhr gestellt.


älteste bekannte Version dieser Seite wurde bearbeitet am 2006-04-07 09:20:05 von XOn [ ]

Der Cron-Daemon

auch verwendete Begriffe: cronjobs, Cron-Dämon,...
(cron, cronos -> griech. für Zeit; Cronos war in der greichischen Mythologie der Gott, welcher über die Zeit herrschte)


Da an verschiedenen Stellen schon öfters Nachgefragt wurde, hier mal eine sinnvolle Auflistung der Funktionen des Cron-Daemons:

Folgender Text wurde kopiert und angepasst von ::



Der Cron-Daemon ist ein Programm welches im Hintergrund läuft und zu bestimmten Zeiten andere Programme ausführen kann. Dies ist besonders dann von Vorteil, wenn man leicht automatisierbare Aufgaben zu erledigen hat, wie etwa das Erstellen einer Sicherheitskopie von wichtigen Daten. In diesem Artikel findest du ein einfaches Beispiel, wie man dem cron mitteilt wann er eine Aufgabe erledigen soll. Bei den meisten Distributionen wird gar nicht erst gefragt, ob du den cron haben willst. Der ist dann einfach mit dabei. Ob das gut ist oder nicht, ist eine andere Thematik. Aber so kannst du das hier Vorgestellte wenigstens gleich ausprobieren.

Zunächst einmal ist es sinnvoll, einen Test zu machen, bevor man schwerwiegende und umfangreiche Programmstarts durchführt. Hier soll ein kleines Script dazu dienen, die Aktivität des cron nachzuvollziehen:

:code:#!/bin/bash

date
$HOME/CRON-DATEI.txt

exit 0:code:

Nachdem man nun den obigen Text in einer Datei namens "cronscript.sh" abgespeichert hat, muss man noch sicherstellen, dass diese auch ausführbar ist:

:code:# chmod 755 cronscript.sh:code:

Der Einfachheit halber lässt du diese Datei für diesen Test in deinem Home-Verzeichnis. Ein richtiges Backup-Script würde man natürlich in den ausführbaren Pfad kopieren, also etwa nach /usr/bin oder so. Wenn das Script nicht in einem der Verzeichnisse ist, welche durch Eingabe von

:code:# echo $code :

angezeigt werden, dann muss man den kompletten Pfad zum Script mit angeben. Nun soll es darum gehen, eine so genannte "crontab" anzulegen. Die crontab ist quasi die Tabelle bzw. Datei in der steht, wann der cron welches Kommando ausführen soll. Bei fast allen gängigen Linux-Distributionen kannst du deine persönliche crontab verändern, indem du als normaler User

:code:# crontab -e:code:

eingibst. Dann erscheint ein voreingestellter Editor und zeigt wahrscheinlich eine leere Datei, wenn du noch keine crontab hast. Wenn dir der Editor nicht passt, dann gib doch einfach

:code:# export EDITOR=emacs:code:

ein. - Du kannst hier "emacs" natürlich auch durch jeden anderen Editor ersetzen, der bei dir läuft. - Was muss in die crontab jetzt rein? Die Syntax einer Zeile der crontab sieht folgendermaßen aus:

:code:MINUTE STUNDE TAG MONAT WOCHENTAG code :

Dabei gilt:

|||0c Platzhalter || mögliche Werte ||
|| MINUTE || 0-59 ||
|| STUNDE || 0-23 ||
||TAG || 1-31||
||MONAT || 1-12 ||
||WOCHENTAG || 0-6, wobei 0 Sonntag bedeutet ||
||BEFEHL || Dies ist der auszuführende Befehl!
Alles was danach kommt,
wird als Argument dem Befehl übergeben.|||

Als Sonderzeichen steht das "*" zur Verfügung, was soviel wie "egal" bedeutet. Sollen mehrere Möglichkeiten angeboten werden, sind diese ohne Leerzeichen mit einem Komma voneinander zu trennen. Zeitspannen gibt man an, indem man einen Bindestrich ohne Leerzeichen zwischen Anfangs- und Endwert setzt. Immer dann, wenn die ersten fünf Einträge in der crontab mit der Systemzeit übereinstimmen, wird der darauf folgende Befehl ausgeführt. Ein Beispiel:

:code:33 4 31 2 0 $HOME/cronscript.sh:code:
...führt also das obige Script jeden Sonntag um 4:33 Uhr aus, der auf den 31. Februar fällt. Also nicht wirklich oft. Je nachdem, was man machen möchte, sind da Einträge wie dieser hier schon sinnvoller:

:code:0 8,12,21 * * * $HOME/cronscript.sh:code:
...führt das Script nun an jedem beliebigen Tag um 8, 12 und 21 Uhr aus, sofern der Rechner zu diesem Zeitpunkt läuft. Für einen kleinen Test kannst du ja eine crontab schreiben, die das Script jede Minute ausführt:

:code:#TEST!
* * * * * $HOME/cronscript.sh:code:

Wenn alles klappt, dann sollte in der Datei CRON-DATEI.txt in deinem Home-Verzeichnis mit der Zeit eine lange Liste von Datums-/Zeiteinträgen entstehen. Falls nicht, kann es sein, dass du als normaler User keine Erlaubnis hast, cronstabs anzulegen. Dann musst du, falls nicht vorhanden, eine Datei /etc/cron.allow anlegen und deinen Usernamen reinschreiben. Neben dieser User-crontab gibt es auch noch systemweite crontabs, die man (zumindest bei Debian) unter /etc/cron.d findet. Hierbei gibt es einen zusätzlichen Eintrag vor dem Kommando, der für den Usernamen vorbehalten ist, mit dessen Rechten das Kommando ausgeführt werden soll. Unter /etc/cron.daily, /etc/cron.weekly und /etc/cron.monthly kann man ganz normale Shell-Scripte ablegen, die dann bei Debian so in etwa täglich, wöchentlich und monatlich abgearbeitet werden, sofern dies möglich ist. Diese Scripte folgen nicht der crontab-Syntax und sind natürlich genauso wie die crontabs unter /etc/cron.d nur vom User root anzulegen.

So, wenn du jetzt mit cron etwas sinnvolles machen willst (ein Backup?), dann musst du nur noch das cronscript umschreiben und umbenennen, eine vernünftige Zeitfestlegung wählen und das Script optimalerweise im Pfad speichern. Das "$HOME/" vor dem Namen des Scriptes in der crontab musst du dann wegnehmen. Ich empfehle die dauerhafte Installation der crontab bzw. des Scriptes in den Verzeichnissen unterhalb von /etc vorzunehmen.



von NorbertKanotix?:

Der Cron-Daemon liest seine Befehle aus der /etc/crontab. Wenn dort z. B.

:code:0 * * * * /usr/sbin/ntpdate ptbtime1?.ptb.de>/dev/null 2>&1:code:

steht, wird dieser Befehl stündlich ausgeführt. Wenn man jetzt in die letzte Zeile der /etc/init.d/bootmisc.sh den Befehl "cron" einträgt, wird beim Starten der Cron-Daemon aktiviert. Stündlich wird also die Uhr gestellt.


Letzte Revision :
Letzter Editor :
Eigentümer :
 
Deutsch | English
Logos and trademarks are the property of their respective owners, comments are property of their posters, the rest is © 2004 - 2006 by Jörg Schirottke (Kano).
Consult Impressum and Legal Terms for details. Kanotix is Free Software released under the GNU/GPL license.
This CMS is powered by PostNuke, all themes used at this site are released under the GNU/GPL license. designed and hosted by w3you. Our web server is running on Kanotix64-2006.