Kann cron die von ihm ausgeführten Skripts "zwischenspeichern"?

601
zkarj

Vorsichtsmaßnahmen: 1. Mein * nix Wissen ist sehr begrenzt, wächst aber. 2. Dieses spezielle Problem gilt für SunOS 5.10 (Ich weiß), aber ich würde mich für allgemeine Antworten interessieren.

Wenn ein cron-Eintrag myscript.pljede Minute ein Skript ausführt und ich diese Skriptdatei irgendwann modifiziere, wird dann die Ausführung des geänderten Skripts durch die nächste cron-Ausführung gewährleistet, oder könnte es irgendwo / irgendwie eine zwischengespeicherte Version haben, die es weiterhin ausführen würde?

Ich denke, der Perl-Interpreter könnte auch in dieses spezielle Thema einbezogen werden.

0

1 Antwort auf die Frage

2
djsmiley2k

Es wird die neue Version ausgeführt, und bei jeder Ausführung von cron werden die von der crontab zwischengespeicherten Befehle wiederholt, nicht jedoch das "Ergebnis" dieser Befehle.

Wenn Sie also das Skript geändert haben, aber nicht die eigentliche Crontab selbst, wird das neue Skript jedes Mal ausgeführt.

Wenn Sie die Crontab geändert haben (dh wie oft sie ausgeführt wird, den Pfad zum Skript usw.), müssen Sie sie anrufen crontab, damit sie diese Informationen erneut lesen kann. Andernfalls prüft cron die Änderungen anhand der modtime oder mithilfe von ionotify, wie auf der Manpage:

 There are two ways how changes in crontables are checked. The first method is checking the modtime of a file. The second method is using the inotify support. Using of inotify is logged in the /var/log/cron log after the daemon is started. The inotify support checks for changes in all crontables and accesses the hard disk only when a change is detected.  When using the modtime option, Cron checks its crontables' modtimes every minute to check for any changes and reloads the crontables which have changed. There is no need to restart Cron after some of the crontables were modified. The modtime option is also used when inotify can not be initialized. 
Vielen Dank. Ich nahm an, dass dies wahrscheinlich der Fall war, konnte es aber nirgendwo klar schreiben. zkarj vor 6 Jahren 0