linux debian crontab-job nicht ausgeführt
Habe ich ein bash-script foo.sh befindet sich in der /etc/cron.täglich Verzeichnis, chmoded 700, im Besitz von root-crontab-Liste für den Benutzer root ist unverändert (crontab -l) aus dem Kern-Debian-installation. Ich machte cronjob in einer anderen Weise als mit crontab -l und/oder crontab -e (zB habe ich nicht neu starten den cron daemon mit /etc/init.d/cron als ratsam, die in den spezifischen Debian der Fall). Trotz einer test-job-Datei ausgeführt wird, unter ähnlichen Bedingungen. Das Skript debuggt und kann ausgeführt werden als eine eigenständige Aufgabe ohne Fehler zurückgeben. Ich habe auch kontrolliert, logs (/var/log/syslog) und nichts falsch drin.
Aber: diese Besondere Aufgabe wird überhaupt nicht ausgeführt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Oops. Denke, ich fand die "warum" oder zumindest das "wie" :
Nur Umbenennung der job mit dem Namen ohne ".sh" Erweiterung dadurch gelöst, dass Problem.
Ich dachte, es war ein Debian-bug, aber es ist nicht, wie beschrieben in den anderen Antworten unten.
LÖSUNG: benennen Sie Ihr Skript, indem Sie alle
.
oder+
Zeichen aus Ihren Namen/etc/cron.täglichen Skripten, die ausgeführt werden von run-parts (siehe man 8 run-parts).
dort gehen Sie mit einem Ausschnitt aus der manpage:
aus der /etc/crontab kann man sehen, dass die täglichen cron-jobs ausgeführt werden mit:
debian nicht verwenden, anacron und es gibt keine --lsbsysinit-option für run-parts (in diesem Fall '.' wird angenommen, dass die cron-Skript mit dem Namen gemäß der LSB-hierarchischen und reservierten Namensräume)
sowieso, um sicherzustellen, dass cron wird die Ausführung des Skripts können Sie immer laufen, laufen-Teile und überprüfen Sie, dass Ihr Skript aufgeführt ist, in der run-Teile-Ausgang:
oder
Ich hoffe, mein Kommentar hilft Ihnen, zu verstehen, was das eigentliche problem war.
--lsbsysinit
, run-parts immer noch nicht akzeptierenfoo.sh
. Es würde akzeptierenfoo.-sh
obwohl. Es braucht, um mit dieser regex:^_?([a-z0-9_.]+-)+[a-z0-9]+$
Alle Antworten gegeben, bevor Sie sind gut und akzeptabel, die Frage. Ich glaube jedoch, ich sollte hinzufügen, meinen Punkt deutlich zu machen, dass Debian-Linux-OS nicht unterstützt cron-job Dateinamen enthalten
.
oder+
Charakter. Finden Sie die relevante Abschnitt in der Debian-Policy-Handbuch.Also das ist nur um Verwirrung zu vermeiden, dass es sich nicht um einen bug. Das ist, wie Debian funktioniert.