Ich habe ein Skript, das einen Befehl ausführt. Ich speichere die Ausgabe dieses Befehls in einem Array und überprüfe den Inhalt der Ausgabe, um mir eine Erfolgs- oder eine Fehlernachricht zu schicken.Andere Mail von Shell-Skript und Cron das Skript ausgeführt
Das funktioniert gut, wenn ich das Skript selbst ausführen. Aber wenn ich das Skript als cronjob
ausführen, erhalte ich eine Fehlermail unabhängig von der Ausgabe.
Ich benutze alle abs paths
im Skript und weiß, dass der Cron ausgeführt wird, da ich in meinen Protokollen sehe, dass die command is executed successfully
.
Kann mir jemand sagen, warum der Unterschied?
Eine Sache zu beachten ist, dauert der Befehl etwa eine Minute, um die Ausführung zu beenden und das Skript wartet, bis der Befehl ausgeführt wird, um die Ausgabe zu überprüfen. So sehe ich eine kleine Verzögerung in der Mail, wenn ich das Skript ausführe. Aber im Cron bekomme ich sofort eine Mail zur Laufzeit. Ich gehe davon aus, dass der Cron nicht auf die Ausführung des Befehls wartet und die Ausgabe überprüft.
Könnte das der Fall sein?
Awesome, Wayne. Ich habe den Befehl ausgeführt, wie Sie gesagt haben, und festgestellt, dass der Cron Probleme beim Laden einer Lib-Datei hatte, damit das Skript ausgeführt werden konnte. Ich lade es jetzt von einem Wrapper im Skript. Danke für die schnelle Antwort. – user3164754