Can't pipe exim queue length to email when run via cron
Hi,
looking for some advice please.
I'd like to set up a cron job to monitor the length of the exim queue and email me if it gets over X number of emails.
At present I'm just running a simple test to email me the queue length. I've followed the instructions in this post: Exim queue size - auto-mail to myself but I can't get the queue length to show in the email when run as a cron.
I have a file: /home/username/crons/mailqueue.sh
which contains:
#!/bin/sh
/usr/sbin/exim -bpc | mail -s 'Exim queue size' info@myemailaddress
This works if I run it from the command line with ./mailqueue.sh and I receive an email with the current number of emails in the queue.
When I try and run it from a cron using:
sh /home/digital1/crons/mailqueue.sh
I get a blank email.
/var/log/cron isn't helping as I just see the cron run.
The thread above suggests a pathing issue and to use the full path to exim which I have but still no luck. I'm hoping it's something really simple I'm, missing.
Thanks for your help.
Hedley
-
Hello, You may find the following thread helpful: Notification if Mail Queue Manager pass 100 emails Or, you might find it easier to use a third-party application such as: ConfigServer Mail Queues Thank you. 0 -
While not a pipe, this will do the same thing, and won't spam the hell out of you. Configure it to notify you only if your mail queue is higher than a magic number! #!/bin/bash DATE=`date +%F` #DATE=date`%Y-%m-%d` SUBJ="$HOSTNAME email queue report" #your email address MYEMAIL="youremailhere" #change this to the magic # to alert you after emailtoomany=10 mailfile="/tmp/mailcheck.txt" mailtest="/tmp/mailtest.txt" qnum=$(exim -bpc) if [ $qnum -gt $emailtoomany] then rm -rf $mailfile echo "Mail queue problem Queue is $qnum" >> $mailfile mailx -s "$SUBJ" $MYEMAIL < $mailfile rm -rf $mailfile fi0
Please sign in to leave a comment.
Comments
2 comments