Created
January 26, 2016 13:45
-
-
Save eignatov/ded26b223cb86b6b4e29 to your computer and use it in GitHub Desktop.
Clean Exim
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # Определяем qualify_domain — он необходим для удаления всяческого мусора | |
| domain=`exim -bP | grep -i "^qualify_domain" | sed -e s/.*\=\ //g` | |
| # Прощаемся со всеми замороженными сообщениями | |
| exim -bpr | grep '<' | awk '{print $2}' | grep '-' | xargs exim -Mrm 2> /dev/null | |
| # при передаче скрипту параметра c, включаем агрессивный режим | |
| if [ "$1" == "c" ]; then | |
| # Удаляем все баунсы старше 20 минут | |
| exiqgrep -o 1200 -if '^<>$' | xargs exim -Mrm | |
| # Сносим все сообщения с адресами начинающихся со спец.символов, таких как нижний подчерк, минус или тире | |
| exiqgrep -f '^<\_|^<\-|^<\|' -i | xargs exim -Mrm | |
| exiqgrep -r '^\_|^\-|^\|' -i | xargs exim -Mrm | |
| #Выкашиваем сообщения отправленные на китайские домены, за последние 20 минут | |
| exiqgrep -f "$domain" -r '.cn$' -o 1200 -i | xargs exim -Mrm | |
| # Удаляем любые сообщения отправленные скриптами, если они зависли в очереди более чем на 24 часов | |
| exiqgrep -f "$domain" -o 86400 -i | xargs exim -Mrm | |
| exit | |
| fi | |
| #В мягком режиме удаляем только frozen баунсы и письма с невозможными адресами в заголовках | |
| exiqgrep -zif '^<>$' | xargs exim -Mrm | |
| exiqgrep -zi | xargs exim -Mrm | |
| exiqgrep -o 86400 -i | xargs exim -Mrm | |
| exiqgrep -f '^<\_|^<\-|^<\|' -i | xargs exim -Mrm | |
| exiqgrep -r '^\_|^\-|^\|' -i | xargs exim -Mrm | |
| #Удаляем сообщения на rediffmail.com | |
| exim -bp | grep r7.com -B 1 | awk '{ print $3 }' | sort | uniq > /tmp/removal.txt | |
| exim -bp | grep rediffmail.com -B 1 | awk '{ print $3 }' | sort | uniq >> /tmp/removal.txt | |
| exim -bp | grep rediff.com -B 1 | awk '{ print $3 }' | sort | uniq >> /tmp/removal.txt | |
| for i in `cat /tmp/removal.txt` ; do exim -Mrm $i ;done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment