내 손을 잡았습니다.
#!/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
.