Difference between revisions of "Exim Queue Scripts"

From James Dooley's Wiki
Jump to: navigation, search
(Script)
(Script)
Line 3: Line 3:
  
 
==Script==
 
==Script==
Find top sending addresses for current messages in queue
+
===Find top sending addresses for current messages in queue===
 
<code>[bash,n]
 
<code>[bash,n]
 
find /var/spool/exim/input -name '*-H' | xargs grep 'auth_id' | sort | uniq -c | sort -rn  
 
find /var/spool/exim/input -name '*-H' | xargs grep 'auth_id' | sort | uniq -c | sort -rn  
 
</code>
 
</code>
  
Get message IDs for messages from a specific sender
+
===Get message IDs for messages from a specific sender===
 
<code>[bash,n]
 
<code>[bash,n]
 
find /var/spool/exim/input -name '*-H' | xargs grep 'auth_id' | grep <EMAIL ADDRESS> | cut -d: -f1 | cut -d/ -f3 | cut -d- -f1-3
 
find /var/spool/exim/input -name '*-H' | xargs grep 'auth_id' | grep <EMAIL ADDRESS> | cut -d: -f1 | cut -d/ -f3 | cut -d- -f1-3
 
</code>
 
</code>
  
Get list of IP addresses sending messages from specific address
+
===Get list of IP addresses sending messages from specific address===
 
<code>[bash,n]
 
<code>[bash,n]
 
for i in $(find -name '*-H' | xargs grep 'auth_id' | grep <EMAIL ADDRESS> | cut -d: -f1 | cut -d/ -f3 \
 
for i in $(find -name '*-H' | xargs grep 'auth_id' | grep <EMAIL ADDRESS> | cut -d: -f1 | cut -d/ -f3 \
Line 19: Line 19:
 
</code>
 
</code>
  
Delete messages based on address
+
===Delete messages based on address===
 
<code>[bash,n]
 
<code>[bash,n]
 
for i in $(find -name '*-H' | xargs grep 'auth_id' | grep <EMAIL ADDRESS> | cut -d: -f1 | cut -d/ -f3 | cut -d- -f1-3); do exim -Mrm $i; done
 
for i in $(find -name '*-H' | xargs grep 'auth_id' | grep <EMAIL ADDRESS> | cut -d: -f1 | cut -d/ -f3 | cut -d- -f1-3); do exim -Mrm $i; done

Revision as of 17:49, 22 June 2011

Overview

Different scripts to search the exim queue.

Script

Find top sending addresses for current messages in queue

[bash,n] find /var/spool/exim/input -name '*-H' | xargs grep 'auth_id' | sort | uniq -c | sort -rn

Get message IDs for messages from a specific sender

[bash,n] find /var/spool/exim/input -name '*-H' | xargs grep 'auth_id' | grep <EMAIL ADDRESS> | cut -d: -f1 | cut -d/ -f3 | cut -d- -f1-3

Get list of IP addresses sending messages from specific address

[bash,n] for i in $(find -name '*-H' | xargs grep 'auth_id' | grep <EMAIL ADDRESS> | cut -d: -f1 | cut -d/ -f3 \ | cut -d- -f1-3); do exim -Mvh $i | grep helo | cut -d "[" -f2 | cut -d "]" -f1| grep -v helo_name; done | sort | uniq -c | sort -n

Delete messages based on address

[bash,n] for i in $(find -name '*-H' | xargs grep 'auth_id' | grep <EMAIL ADDRESS> | cut -d: -f1 | cut -d/ -f3 | cut -d- -f1-3); do exim -Mrm $i; done

What to change