hallo leute,
ich habe mir ein schönes backupscript geschrieben und möchte dieses jetzt einmal pro tag laufen lassen. die art der notation in /etc/crontab habe ich auch schon herausgefunden, dachte ich zumindest. allerdings will das skript einfach nicht durchlaufen...
im internet findet man lauter sich wiedersprechenede angaben, aus der man werde ich nicht schlau, und das handbuch sagt auch nicht gerade viel...
[...]
# run five minutes after midnight, every day 5 0 * * * $HOME/bin/daily.job >> $HOME/tmp/out 2>&1
Bei mir sieht das in etwa wie folgt aus: -*/15 * * * * root test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons >/dev/null 2>&1 59 * * * * root rm -f /var/spool/cron/lastrun/cron.hourly 14 4 * * * root rm -f /var/spool/cron/lastrun/cron.daily 29 4 * * 6 root rm -f /var/spool/cron/lastrun/cron.weekly 44 4 1 * * root rm -f /var/spool/cron/lastrun/cron.monthly 21 10 * * * root /pfad/script.sh Die Steuerung von STDOUT und STDERR ist im Skript selbst schon geregelt, also kann ich an dieser Stelle darauf verzichten, nicht wahr? [...]
Was ist das Problem? Meldungen?
Sorry, aber das ist 'nen bischen wenig, was Du an Informationen rüberbringst.
Wie erwähnt, das Skript läuft einfach nicht an. Es gibt auch keine Fehler aus, bzw. ich weiss wahrscheinlich nicht, wo danach suchen... [...]
Bei einem SuSE-Linux-System ist es am sinnvollsten, das Skript einfach als ausführbares Shell-Skript im Verzeichnis /etc/cron.daily/ abzulegen.
Man könnte auch einfach einen Eintrag in /etc/crontab machen, oder als root eine eigene root-crontab erzeugen.
Der Vorteil, cron-Aufträge als Skripte in die Verzeichnisse /etc/cron.hourly, cron.daily, cron.weekly und cron.monthly abzulegen, liegt darin, dass diese Aufträge auf jeden Fall ausgeführt werden, auch wenn der Rechner mal eine Weile ausgeschaltet ist. Trägst du beispielsweise in /etc/crontab ein, dass dein Skript jede Nacht um 3:33 Uhr ausgeführt werden soll, und der Rechner läuft um diese Zeit nicht, dann wird das Skript auch nicht ausgeführt. Liegt das Skript aber in /etc/cron.daily/, dann wird durch cron überprüft, wann es das letzte Mal ausgeführt wurde. Ist das mehr als 1 Tag her, dann wird es in dem Moment nachgeholt. Der Nachteil dieser Methode liegt natürlich darin, dass es dir so passieren kann, dass du einen Rechner bootest und er kurz danach erstmal lauter cron-Jobs ausführt.
Ich hoffe, dir ist der Mechanismus so etwas deutlicher geworden.
Grüße, Anke
Ich muss den Zeitpunkt der Ausführung so wählen, dass möglichst kein Benutzer mehr auf die Daten zugreifft, sonst... [...]
Ein recht häufiger Fehler bei cron-Scripten liegt m.E. darin, daß manche Umgebungsvariablen ($PATH u.ä.) in der "cron-Umgebung" gar nicht bzw. anders gesetzt sind, als in der "Benutzer-Umgebung". Dies kann z.B. dazu führen, daß bestimmte Befehle in der Scriptdatei nicht gefunden werden, da ihr Pfad nicht in $PATH steht.
Da liegt in diesem Fall kein Hund begraben, denke ich.
Du könntest also mal in Deinem Script alle Befehle mit komplettem Pfadnamen angeben, um diesem Fehler aus dem Weg zu gehen.
Genau so habe ich es von Anfang an gemacht
Wenn die Ausgaben des crontab-Eintrages nicht per ">" irgendwohin umgeleitet werden, bekommt der Benutzer, unter dessen Account das Script läuft, eine eMail mit den Ausgaben des Scriptes. Eventuell findest Du darin weitere Hinweise, warum das Script nicht ordnungsgemäß läuft.
In den Ausgabefiles steht nichts, bzw sie werden gar nicht erst erstellt, was darauf schliessen lässt, dass das Skript nicht läuft. Ich hoffe, diese Angaben tragen zur Lösung des Problems bei. Vielen Dank schon mal für eure prompte Hilfe, Dino Beer _________________________________________________________________ Essenzielle Infos von A-Z! Starten Sie eine Online-Recherche mit MSN Search! http://search.msn.ch/