私の手を握った。
#!/bin/bash
######### Edit here ##########
[email protected] # Set this to your email id to receive alerts on mail queue
_limit=100 # 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
fi
rm -f $_result
奇跡的に動作します。今私よりも少し進化した人に質問があります。キューがすでにスパムでいっぱいであると仮定すると、上記のメッセージはキューの後ろにあります。したがって、このメッセージが他のものよりも前に送信されるように強制したいと思います。私の理解によれば、次のようにメッセージを強制的に転送できます。
/usr/sbin/exim -M email-id
ここにいる人のうち、スクリプトメール機能から電子メールIDを抽出し、それを使用して上記のコマンドを実行する方法を知っていますか?おおよそ次のようになります。
_message_id = "'exiqgrep -f root@hostname'"
/usr/sbin/exim -M "$_message_id"
答え1
努力する
exiqgrep -f 'root@hostname' -i | xargs exim -M
より強力なツールを見ることもできますexipick
。