Cron-Ausgabe funktioniert nicht

Cron-Ausgabe funktioniert nicht

Brauche Hilfe, um das herauszufinden. Ich habe das folgende Skript - /root/eximqueue.sh mit den entsprechenden +x-Rechten usw.:

#!/bin/bash
######### Edit here ##########
[email protected] # Set this to your email id to receive alerts on mail queue
_limit=20 # Set the limit here

##############################

clear;
_result="/tmp/eximqueue.txt"
_queue="`exim -bpc`"

if [ "$_queue" -ge "$_limit" ]; then
echo "Current queue is: $_queue" > $_result
echo "Summary of Mail queue" >> $_result
echo "`exim -bp | exiqsumm`" >> $_result
mail -s "Number of mails on `hostname` : $_queue" $_mail_user < $_result
cat $_result
_message_id="`exiqgrep -i -f [email protected] | xargs exim -M`"
fi

rm -f $_result

Dann habe ich den Cron eingerichtet, meine Crons überprüft (crontab -l) und da steht:

*/5 * * * * /bin/sh /root/eximqueue.sh

Habe meine Cron-Logs überprüft

grep eximqueue /var/log/cron

... und es läuft (nur ein paar Beispiele):

Oct 12 14:00:01 osi CROND[28191]: (root) CMD (/bin/sh /root/eximqueue.sh)
Oct 12 14:05:01 osi CROND[30877]: (root) CMD (/bin/sh /root/eximqueue.sh)
Oct 12 14:10:01 osi CROND[893]: (root) CMD (/bin/sh /root/eximqueue.sh)
Oct 12 14:15:01 osi CROND[4429]: (root) CMD (/bin/sh /root/eximqueue.sh)

Das Problem ist, dass ich keine E-Mail vom Skript bekomme! Wenn ich es jedoch direkt ausführe, funktioniert es einwandfrei und ich bekomme die E-Mail. Ideen?

Antwort1

Das Problem besteht darin, dass der Pfad viel kürzer ist, wenn ein Skript von Cron aus gestartet wird, als wenn Sie es direkt von Bash aus ausführen.

Ersetzen Sie einfach die Aufrufe des Programms durch den vollständigen Pfad zu ihnen, /usr/sbin/eximstatt eximbeispielsweise (oder wo Sie Exim installiert haben).

verwandte Informationen