Ich führe ein halbes Dutzend verschiedene Cron-Jobs von meinem Hosting bei Hostmonster.com aus. Wenn ein Cronjob ausgeführt wurde, erhalte ich eine E-Mail mit der Ausgabe des Skripts.
Die E-Mail hat das Format:
Von: Cron Daemon Betreff: Cron / ramdisk / bin / php5 -c /home5/username/scheduled/optimize_mysql.bash
Das Problem dabei ist, dass der Betreff der E-Mail es sehr schwer macht zu lesen, zu welchem Cronjob die E-Mail gehört.
Gibt es eine Möglichkeit, den Betreff einer Cronjob-E-Mail so zu ändern, dass er leichter zu lesen ist?
Zum Beispiel:
Von: Cron Daemon Betreff: MySQL-Datenbank optimieren
Oder benutze den Befehl sh noop (:)
Das Thema sieht immer noch kludgey aus, aber es ist zumindest beschreibend und erfordert keine überflüssigen Skripte.
quelle
Queue Summary; PATH=/usr/sbin qshape
Leiten Sie Ihre Cron-Job-Ausgabe direkt an Mail weiter, und geben Sie dann den Betreff ein. Die
2>&1
Syntax sendet alle Fehlerausgaben, die sonst verschwinden würden.quelle
Übernehmen Sie die Verantwortung von crond für das Senden der Befehlsausgabe (oder nicht, wenn es keine gibt), indem Sie die Ausgabe und stderr in 'mailx -E' leiten. Zum Beispiel:
Die '-E'-Option von Mailx ist nett, weil es wie crond selbst keine Mail sendet, wenn es keine zu sendende Ausgabe gibt.
quelle
Several environment variables are set up automatically by the cron(8) daemon. SHELL is set to /bin/sh, and LOGNAME and HOME are set from the /etc/passwd line of the crontab's owner. PATH is set to "/usr/bin:/bin". HOME, SHELL, and PATH may be overridden by settings in the crontab; LOGNAME is the user that the job is running from, and may not be changed.
mailx
Implementierungen. Nur einige von ihnen bieten diese-E
Option an. Auf Ubuntu möchten Sie die Paketebsd-mailx
oderheirloom-mailx
; Dasmailutils
Paket enthält einen Gnu-mailx
Befehl mit einem anderen-E
.Eine andere Lösung besteht darin, ein Shell-Skript mit der gewünschten Betreffzeile zu schreiben, das den richtigen Befehl aufruft. In Ihrem Beispiel wäre dies:
Sie können Ihr bin-Verzeichnis in den Pfad aufnehmen, indem Sie es in der crontab-Datei festlegen.
quelle
VERSUCHE DIESES - Implementiere in der Kommandozeile den folgenden Code ---
quelle