| Одним из главных плюсов Exim'а, без сомнения, являются утилиты, которые поставляются вместе с ним. Они могут значительно упростить рутинные операции, сократить ваши однострочники раз в 5, и дают возможность составлять сложные sh-скрипты для некоторых часто повторяемых действий с очередью и/или логами. exiqgrep – Выборка из очереди. Без опций будет идентично exim -bp -f – регэксп совпадения с адресом отправителя -y – выводит сообщения "младше" заданного количества секунд Разумеется, опции можно комбинировать и делать вещи типа: На основе этого можно написать такой вот скрипт #!/bin/sh if ! [ `which exim 2>/dev/null` ]; then if ! [ `which exiqgrep 2>/dev/null` ]; then if [ "$1" == "cf" ]; then if [ "$1" == "c" ]; then num_of_mes=`sudo exiqgrep -if '^<>$'|wc -l` Запуск без опций показывает количество баунсов в очереди. А можно ускорить доставку для определённого домена (-v можно убрать, разумеется): Иногда, при использовании exiqgrep появляется такое exipick – показывает сообщения из очереди по разным критериям и в разных форматах Создана как замена exiqgrep'у. Лично мне хватает последнего, но если захочется чего-нибудь помощнее читайте exipick --help или perldoc exipick exiqsumm – Анализ очереди Сама по себе эта утилита ничего не делает. На вход ей обязательно надо подать очередь exim'а. Вывод программы по умолчанию состоит из пяти колонок: количество сообщений на домен, их общий объем, время жизни самого старого, самого нового, и собственно домен назначения. По умолчанию вывод сортируется по доменам в алфавитном порядке. Есть и другие опции А вот так можно выявлять спамеров. root@domain.ru [~]# exim -bp | exiqsumm -c -s | head Count Volume Oldest Newest Domain 668 814KB 74m 66m server.ru > yahoo.com Разумеется вместо server.ru будет qualify domain (подробнее см. опцию -f коммандной строки), или домен отправителя если шлют через SMTP. Хотя все это можно сделать проще и за один заход, с помощью exiqgrep Ну и соответственно удалить всю очередь от него Хорошо бы только сначала посмотреть для пары наугад выбранных сообщений полную информацию. Или можно такое использовать (это уже извращение, разумеется) MID=`exiqgrep -i -f ''|tail -1`;exim -Mvl $MID; exim -Mvh $MID Но вернемся к exiqsumm. У этой утилиты есть пара важных нюансов. Во-первых, считает она не сами сообщения а "доставки". И если некоторые сообщения имеют более одного получателя, то доставок будет больше чем сообщений. Во-вторых, домены на которые доставляется письмо в результате альясинга или форвардинга – не включаются (если не использовалась опция "one_time" роутера "redirect" для конвертации из в адреса "верхнего уровня"). Поэтому всегда надо смотреть логи. exigrep – Выборка из логов Утилита позволяющая банально "грепать" логи. От обычного грепа отличается тем, что выдет все строки для сообщения, у которого хотя бы в одной строке встречается паттерн. Иногда это удобно, иногда такое количество информации может быть излишним. Использование Логи можно подавать на стандартный ввод или через пробел после всех опций. Логи могут быть в архиве (вообще говоря, все это дело определяется опциями сборки ZCAT_COMMAND и COMPRESS_SUFFIX в файле Local/Makefile). eximstats – Статистика на базе логов Утилита парсит логи экзима (или syslog'а) и выводит статистический анализ по всем содержащимся сообщениям. Использование По умолчанию скрипт выведет статистику в STDOUT в формате txt. Например можно сделать так Уже готовые отчеты можно объединить в один. У программы масса опций, посмотреть их можно так Описывать, что получается в отчете, смысла, думаю, нет. Стоит просто попробовать и посмотреть. Статистика очень мощная, если есть проблемы, они винды сразу. exim_checkaccess – проверка приема для адреса с IP Очень простая программа для проверки Relay. Заменяет "exim -bh". Используем так: Это не все утилиты, которые идут с exim'ом. Описал только те, которые считаю наиболее полезными. * exiwhat – список того, что делают процессы exim`a * exicyclog – ротация лог-файлов * exim_dbmbuild – сборка файла DBM * exinext – извлечение информации повторов * exim_dumpdb – дамп БД подсказок * exim_tidydb – очистка БД подсказок * exim_fixdb – правка БД подсказок * exim_lock – блокировка файла почтового ящика (mailbox) * eximon – показывает в X'ах информацию о состоянии очереди exim'a, и о том, что exim делает Есть сторонние утилиты, типа | |
| Категория: Интересные статьи | Просмотров: 390 | |
Главная » Полезные утилиты Exim