메시지 ID를 추출하고 강제 전송하는 Bash 스크립트

메시지 ID를 추출하고 강제 전송하는 Bash 스크립트

내 손을 잡았습니다.

#!/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.

관련 정보