Hallo Sportfreund,
jetzt habe ich den Thread schon entsorgt und vielleicht wiederhole ich eine bereits schon gegebene Antwort.
(Übrigens, der Hinweis mit dem at(1) nicht ganz richtig, at verwendet eine komplett andere Umgebung! at liest beim Aufruf (also wenn Du den Job planst) Deine aktuelle Umgebung ein und sogar das aktuelle Verzeichnis. - Cron macht nichts dergleichen.
Du hattest einen Script in /etc/cron.daily abgelegt und hoffst, daß der irgendwann ausgeführt wird?
- korrekte Permissions (xr) für root? - Filename so, daß run-parts ihn aktzeptiert?
- werden die anderen cron.daily liegenden Scripte ausgeführt?
- findest Du im syslog etwas, wo Cron behauptet, er hätte
- Kannst Du am frühen Morgen eine access-Time feststellen, die mit der Zeit für cron.daily korreliert? (stat /etc/cron.daily/mysqlbackup)
Nehmen wir mal an, der Script wird ausgeführt, funktioniert aus verschiedenen Gründen aber nicht. Cron sollte eventuell entstandene Ausgaben an root schicken, per Mail. Mail dort geguckt?
Mit dem Holzhammer ginge auch etwa folgendes, Du könntest Deinen Script etwas modifizieren:
#! /bin/bash exec &>/tmp/log set -x …
Und dann am Morgen mal gucken, was da drin steht. Beliebte Kandidaten für Probleme sind neben PATH, SHELL, working directory, auch noch diese Lokalisierungsvariablen LANG, LC_*
Ich habe in meinen Scripten (fast) immer am Anfang ein
unset CDPATH LANG ${!LC_*} PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin
Dein nächtlicher Script hat nichts, aber auch gar nichts von der Umgebung, die Du als root gewohnt bist! Normalerweise. Das könnte sich aber ändern, wenn Du z.B. angemeldet bist, und Cron neu startest, einige dieser Daemons initialisieren dann die Umgebung nicht neu, sondern nehmen die, die im Augenblick des Starts da war. (da fangen dann fetchmails plötzlich an, deutsche Fehlermeldungen in den Syslog zu schreiben, usw. usf.)
Und wenn dann alles funktioniert, empfehle ich Dir ein
#! /bin/bash -e
als erste Zeile. Es kommt auf das -e an! Vielleicht funktioniert es dann wieder nicht, aber in der Regel wirst Du darüber dann froh sein.