Probleme mit Cron unter Suse 9.1

Hi,

ich habe mit KCron unter Suse 9.1 ne Aufgabe angelegt, die ich über KCron („Jetzt starten“) auch ausführen kann. Leider startet cron die Aufgabe nicht zur angegebenen Zeit. der Inhalt der crontab (als root) ist soweit auch OK:

15 15 * * * /sicherung/backup_test

Wie gesagt: Führe ich die Shell direkt oder über „Jetzt starten“ über KRON aus, tut sie…! Wer-weiss-was?

Grüße
Wolfgang

Moin,

Wie gesagt: Führe ich die Shell direkt oder über „Jetzt
starten“ über KRON aus, tut sie…! Wer-weiss-was?

Vielleicht liegt’s an kron? Schau 'mal, ob kron, daß ordentlich im
cron installiert, indem Du im xterm crontab -l eingibst. Bei
mir sieht das dann so aus:

ingo@Devera:~\> crontab -l 
# DO NOT EDIT THIS FILE - edit the master and reinstall. 
# (/tmp/crontab.11001 installed on Thu Jul 22 15:40:56 2004) 
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie 
Exp $) 
MAILTO = "" 
00 01 6,14,22,30 \* \* ( . $HOME/.bashrc ; $VGA\_ROOT\_DIR/scripts/ 
premind bowling ) 

„Manuell“ kann man es direkt im xterm mittels crontab -e
editieren. Nur müßtest Du u.U. den Standardeditor ändern (keine
Ahnung wie) oder vi bedienen können.

Gruß,
Ingo

Hi,

ich habe mit KCron unter Suse 9.1 ne Aufgabe angelegt, die ich
über KCron („Jetzt starten“) auch ausführen kann. Leider
startet cron die Aufgabe nicht zur angegebenen Zeit. der
Inhalt der crontab (als root) ist soweit auch OK:

15 15 * * * /sicherung/backup_test

Was ist „/sicherung/backup_test“ außer einem total kranken Pfad? braucht das eventuell noch environment-Variablen?

In welcher crontab steht das überhaupt? hoffentlich nicht unter /etc/crontab, die hat nämlich eine andere Syntax.

Wie gesagt: Führe ich die Shell direkt oder über „Jetzt
starten“ über KRON aus,

kcron als root? *grusel*

Wer-weiss-was?

Falls das Ding in der letzten Zeile steht: hinten eine Leerzeile infügen. Nein, nicht on cronkorken.

„crontab -e“

Gruß,

Sebastian

Hallo,

„Manuell“ kann man es direkt im xterm mittels crontab
-e

editieren. Nur müßtest Du u.U. den Standardeditor ändern
(keine
Ahnung wie) oder vi bedienen können.

aus **man 1 crontab**

 The -e option is used to edit the current crontab using
 the editor specified by the VISUAL or EDITOR environment
 variables. The specified editor must edit the file in
 place; any editor that unlinks the file and recreates it
 cannot be used. After you exit from the editor, the modi­
 fied crontab will be installed automatically.

HTH,

Sebastian

Hi,

15 15 * * * /sicherung/backup_test

Was ist „/sicherung/backup_test“ außer einem total kranken
Pfad? braucht das eventuell noch environment-Variablen?

Nein, krank ist der Pfad nicht, ich habe extra nen Doktor angerufen… Warum soll da überhaupt ein Pfad stehen??? Ich dachte nach der Angabe der Ausführungsezeit kommt der Befehl…

In welcher crontab steht das überhaupt? hoffentlich nicht
unter /etc/crontab, die hat nämlich eine andere Syntax.

/var/spool/cron/tabs/administrator

kcron als root? *grusel*

Dann erkär mir mal, wie ich kcron als „normaler“ User ausführen kann. Nebenbei: Ich habe VOR kcron mit crontab gearbeitet, auch dort hat sich nix bewegt!

Falls das Ding in der letzten Zeile steht: hinten eine
Leerzeile infügen. Nein, nicht on cronkorken.

Da ist ne Leerzeile.

Hallo,

15 15 * * * /sicherung/backup_test

Was ist „/sicherung/backup_test“ außer einem total kranken
Pfad? braucht das eventuell noch environment-Variablen?

Nein, krank ist der Pfad nicht,

Achso. Aber er ist vom FHS so weit wie möglich entfernt. Das kann man machen, bringt aber IMHO mehr Nach- als Vorteile

ich habe extra nen Doktor
angerufen… Warum soll da überhaupt ein Pfad stehen???

Weil Das Proramm gefunden werden muß und cron (im Gegensatz zur Shell) typischerweise keinen PATH gesetzt hat.

Ich
dachte nach der Angabe der Ausführungsezeit kommt der
Befehl…

Ja. Und gerne mit vollem Pfad.

Was war das noch für ein Befehl? Ein Script? Braucht das am Ende gar bestimmte Environment-Variablen (PATH …)?

kcron als root? *grusel*

Dann erkär mir mal, wie ich kcron als „normaler“ User
ausführen kann.

kcron starten und losleegen. Oder was konkret war das Problem.

Besser ist es übrigens, kcron garnicht zu nehmen, IMVHO.

Nebenbei: Ich habe VOR kcron mit crontab
gearbeitet, auch dort hat sich nix bewegt!

Dann liegt das Problem eher an fehlenden Envoronment-Variablen.

Falls das Ding in der letzten Zeile steht: hinten eine
Leerzeile infügen. Nein, nicht on cronkorken.

Da ist ne Leerzeile.

Gut.

Gruß,

Sebastian

Hi,

Weil Das Proramm gefunden werden muß und cron (im Gegensatz
zur Shell) typischerweise keinen PATH gesetzt hat.

Was war das noch für ein Befehl? Ein Script? Braucht das am
Ende gar bestimmte Environment-Variablen (PATH …)?

backup_test ist ein Script und steht in dem Pfad… Ich habe es auch schon versucht mit PATH= zu arbeiten - bringt auch nix…

Dann erkär mir mal, wie ich kcron als „normaler“ User
ausführen kann.

kcron starten und losleegen. Oder was konkret war das
Problem.

Dass ein „normaler“ User das nicht darf, sondern nur root…

Nebenbei: Ich habe VOR kcron mit crontab
gearbeitet, auch dort hat sich nix bewegt!

Dann liegt das Problem eher an fehlenden
Envoronment-Variablen.

Warum kann KCron das Script dann starten wenn ich es manuell aufrufe…??
Grüße
Wolfgang

Hallo,

Nebenbei: Ich habe VOR kcron mit crontab
gearbeitet, auch dort hat sich nix bewegt!

Dann liegt das Problem eher an fehlenden
Envoronment-Variablen.

Warum kann KCron das Script dann starten wenn ich es manuell
aufrufe…??

Den Satz verstehe ich nicht. Startes Du manuell oder ruft KCron es auf?

Naja. Vielleicht postest Du mal das Script? Schö in pre-Tags einfebunden zur besseren Lesbarkeit?

Sebastian

Hi,

Warum kann KCron das Script dann starten wenn ich es manuell
aufrufe…??

Den Satz verstehe ich nicht. Startes Du manuell oder ruft
KCron es auf?

In KCron gibt es die Möglichkeit eine Aufgabe manuell zu starten (RMT dann Eintrag „Jetzt starten“ und dann funzt das Teil.

Naja. Vielleicht postest Du mal das Script? Schö in pre-Tags
einfebunden zur besseren Lesbarkeit?

#!/bin/sh

cd /daten/Sicherungsskript
ls \>dirheute.txt

Und weißt Du was das Beste ist?? Gestern hat der Schweinehund das Script ausgeführt… Ich dachte eine Änderung an der CronTag wird von CRON direkt übernommen (oder zumindest innerhalb von 1-2 Minuten). Hat der vielleicht mehr Zeit gebraucht…???

Grüße
Wolfgang

Hallo,

#!/bin/sh

cd /daten/Sicherungsskript
ls >dirheute.txt

Okay. Es ist nicht die schlechteste Idee, auch hier die kompletten Pfade anzugeben. Wirklich.

Und weißt Du was das Beste ist?? Gestern hat der Schweinehund
das Script ausgeführt… Ich dachte eine Änderung an der
CronTag wird von CRON direkt übernommen (oder zumindest
innerhalb von 1-2 Minuten). Hat der vielleicht mehr Zeit
gebraucht…???

Nein. crond sollte das in weniger als 1 Minute machen. „man cron“ erklärt das:

_[...]_

 cron then wakes up every minute, examining all stored
 crontabs, checking each command to see if it should be run
 in the current minute. When executing commands, any out­
 put is mailed to the owner of the crontab (or to the user
 named in the MAILTO environment variable in the crontab,
 if such exists). The children copies of cron running
 these processes has its name coerced to uppercase, as will
 be seen in the syslog and ps output.

 Additionally, cron checks each minute to see if its spool
 directory's modtime (or the modtime on /etc/crontab) has
 changed, and if it has, cron will then examine the modtime
 on all crontabs and reload those which have changed. Thus
 cron need not be restarted whenever a crontab file is mod­
 ified. Note that the crontab(1) command updates the mod­
 time of the spool directory whenever it changes a crontab.

_[...]_

Das Lesen der man-pages kann ich nur immer wieder empfehlen.

Gruß,

Sebastian

Hi,

Nein. crond sollte das in weniger als 1 Minute machen. „man
cron“ erklärt das:

.
.

Das Lesen der man-pages kann ich nur immer wieder empfehlen.

*gg* auch wenn ich Dich enttäuschen muss, aber auch dort habe ich schon nachgeschaut bevor ich hier gepostet habe…
Fakt: Auch heute ist das Teil durchgelaufen!! Warum das letzte Woche nicht funktioniert hat kann ich absolut nicht nachvollziehen. Zwischen der Änderung der Zeit und der neuen Ausführung lagen i.d.R. 5-10 Minuten, also völlig ausreichend für die Aktualisierung.

Danke für Deine Hilfe!

Wolfgang