Есть ли доступный сценарий perl или какой-либо сценарий для проверки почтовых очередей каждого экземпляра sendmail? Так что мы можем использовать это в nagios nrpe, поскольку команда mailq предназначена только для одного экземпляра.
«Экземпляр» sendmail на хосте - это sendmail, который запускается с файлом конфигурации. Экземпляр sendmail не является процессом sendmail. Итак, если вы видите, что вывод ps -auxw
содержит несколько процессов sendmail, это не означает, что на хосте запущено много экземпляров sendmail.
В наши дни обычным случаем является то, что на вашем хосте работают два экземпляра sendmail. Один запущен и выполняет конфигурацию, описанную в /etc/mail/sendmail.cf
и второй, который запускается с конфигурацией, описанной в /etc/mail/submit.cf
. Чтобы просмотреть почтовые очереди, которые эти два экземпляра отправляют по почте, вы выполняете команды:
mailq -C /etc/mail/sendmail.cf
mailq -C /etc/mail/submit.cf
В крайне маловероятном случае, если у вас запущены другие экземпляры, должен существовать соответствующий файл .cf. Вы можете просмотреть их очереди, запустив mailq -C configuration.cf
для них тоже.
Вы можете комбинировать в (Perl) скрипте вывод таких команд, чтобы потом делать все, что захотите.