cron-Verständnisfrage

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Benutzeravatar
Stefan.K
Beiträge: 148
Registriert: 06.03.2003 10:49:06
Wohnort: Schweiz
Kontaktdaten:

cron-Verständnisfrage

Beitrag von Stefan.K » 05.09.2005 18:24:51

Hallo kann mir einer sagen warum der direkte contab eintrag ausgeführt wird, der inidrekte aber nicht?

Code: Alles auswählen

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file.
# This file also has a username field, that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
25 6    * * *   root    test -e /usr/sbin/anacron || run-parts --report /etc/cron.dail
y
47 6    * * 7   root    test -e /usr/sbin/anacron || run-parts --report /etc/cron.week
ly
52 6    1 * *   root    test -e /usr/sbin/anacron || run-parts --report /etc/cron.mont
hly
35 *  * * *   root    test -e /usr/sbin/anacron || run-parts --report /etc/cron.hourly
37 *    * * *   root    /etc/cron.hourly/scvalizer.sh
39 *    * * *   root    /etc/cron.hourly/pruefer.pl

Die drittletzte Zeile wird zwar angestartet, aber die im Verzeichnis liegenden Skripte werden nicht ausgeführt. Rufe ich die Scripte direkt auf (vor -/letzte Zeile) klappt's wunderbar. :?:
Ubuntu Gutsy Gibbon, 2.6.20

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 05.09.2005 19:09:32

Werden in den Skritpen die Programme auch mit voller Pfadangabe aufgerufen? cron-Skripte haben einen sehr minimalen PATH eingestellt.

Alternativ kannst du in die erste Zeile der Skripten jeweils sowas wie

Code: Alles auswählen

PATH=/sbin:/bin:/usr/sbin:/usr/bin
einfügen.

Benutzeravatar
Stefan.K
Beiträge: 148
Registriert: 06.03.2003 10:49:06
Wohnort: Schweiz
Kontaktdaten:

Beitrag von Stefan.K » 05.09.2005 19:57:34

Pfade sind immer absolut in den Scripten. Wie gesagt, sie funktionieren ja auch im cron, wenn ich jedes Script unterhalb von /etc/cron.hourly manuell aufrufe. Nur der gesammelte Aufruf geht nicht.
Die scripte unter /etc/cron.daily dagegen werden immer wie erwartet aufgerufen. Auch die selbst erstellten.
anacron ist nicht installiert, da das Ganze ein Server ist, der die ganze Zeit läuft.
Ubuntu Gutsy Gibbon, 2.6.20

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 05.09.2005 20:18:59

Oops, falsch gelesen!
Was passiert denn, wenn du

Code: Alles auswählen

# run-parts --test --report /etc/cron.hourly
aufrufst?

PS: Der Editor hat auch nicht "intelligenterweise" nach --report ein newline eingefügt?

Benutzeravatar
Stefan.K
Beiträge: 148
Registriert: 06.03.2003 10:49:06
Wohnort: Schweiz
Kontaktdaten:

Beitrag von Stefan.K » 05.09.2005 20:34:18

Es passiert nix.
Ubuntu Gutsy Gibbon, 2.6.20

Benutzeravatar
Stefan.K
Beiträge: 148
Registriert: 06.03.2003 10:49:06
Wohnort: Schweiz
Kontaktdaten:

Beitrag von Stefan.K » 05.09.2005 20:53:17

ich sollte noch erwähnen, dass der SErver woody ist. cron ist Version 3.0pl1-72
Ubuntu Gutsy Gibbon, 2.6.20

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 06.09.2005 01:03:09

Problem gefunden:
man run-parts hat geschrieben: If the --lsbsysinit option is not given then the names must consist entirely of upper and lower case letters, digits, underscores, and hyphens.
Also entweder run-parts --lsbysinit --report ... in die cron eintragen, oder einfach die ".pl" Endung der Skripten entfernen.

Benutzeravatar
Stefan.K
Beiträge: 148
Registriert: 06.03.2003 10:49:06
Wohnort: Schweiz
Kontaktdaten:

Beitrag von Stefan.K » 13.09.2005 08:37:21

Hi,

danke Joghurt.
Und dabei war ich der Meinung die Manpages schon gelesen zu haben. Auf die Idee, dass es eine Manpage für run-parts gibt, bin ich aber nicht gekommen. :oops:
Ubuntu Gutsy Gibbon, 2.6.20

Antworten