Очевидно, я не могу отправить себе электронное письмо, чтобы сказать себе, что qmail не работает ... по крайней мере, не использую qmail. Как бы вы узнали о том, что qmail не работает?
Самый простой способ - это, вероятно, http-сообщение или wget на вторичный сервер, который может отправлять электронную почту.
Очевидно, что если ваш почтовый ящик находится на этом сервере, он не будет работать, поэтому вам придется использовать другой адрес электронной почты.
Например, каждую минуту запускайте задание cron, чтобы определить, запущен ли процесс qmail. Если он не запущен, тогда wget http: //secondserver/alert.php
cronjob bash скрипт.
#!/bin/sh
SERVICE='qmail'
if ps ax | grep -v grep | grep $SERVICE > /dev/null
then
echo "$SERVICE service running, everything is fine"
else
echo "$SERVICE is not running"
wget http://secondserver/alert.php
fi
alert.php
<?php
$to = 'youraddress@example.com';
$subject = 'qmail not running';
$message = "qmail reported down";
$headers = "From: webmaster@example.com\r\nReply-To: webmaster@example.com";
$mail_sent = @mail( $to, $subject, $message, $headers );
echo $mail_sent ? "Mail sent" : "Mail failed";
?>
Это решение - плохой, но самый простой способ. Я бы инвестировал в решение для мониторинга, такое как nagios. С помощью подходящего инструмента мониторинга вы можете настроить решение, которое будет отправлять вам SMS-сообщения в случае отказа.
Это тоже популярный сервис мониторинга: http://www.bijk.com/
Просто чтобы добавить дополнительный ответ - вы можете проверить с другого сервера, прослушивает ли почтовый порт почту (при условии, что он открыт для этого другого сервера) - если он сообщает, что он заблокирован, он может уведомить вас об этом.
DJ Bernstein написал qmail. Я одобряю другой ответ, но должен прокомментировать:
Многие люди, использующие qmail, в конечном итоге перекусывают и настраивают другой проект DJ Bernstein позднего юрского периода для мониторинга сервисов, называемых daemontools. Он будет поддерживать работу qmail практически во всем, включая вторжения зомби, перегретые процессоры и плохую память.
Он работает очень, очень хорошо - я подозреваю, что daemontools - это Чак Норрис из мира демонов. [Демоны = оригинальное название того, что мы теперь называем услугами]
Независимо от вашей ОС или дистрибутива, будет программа поддержки активности службы демона, и вам просто нужно добавить к ней qmail. Мы никому и ничему не доверяем, поэтому отправляем электронные письма через почтовый сервер, а затем проверяем, пришли ли они в разумные сроки. Это ЕДИНСТВЕННЫЙ СПОСОБ узнать, правильно ли он работает. Мониторинг службы - это только 50% надлежащей проверки работоспособности.
Стоит прочитать про DJB. Я всегда предполагал, что он действительно стар, но не настолько.
Одним из возможных способов может быть установка службы мониторинга, например Nagios, и добавление qmail для мониторинга. Таким образом, вы не только будете уведомлены о сбое службы qmail, но и, по сути, можете быть предупреждены о надвигающемся сбое, чтобы вы могли предпринять необходимые действия, чтобы предотвратить сбой.
Мне нравится подход Пабло; Я использовал нечто подобное для отправки сообщений в стиле IM, отслеживающих перемещение IP-адреса моего домашнего компьютера, подключенного к работе через VPN (поскольку ему каждый раз назначали другой адрес):
import xmpp
xmpp_login = 'user'
xmpp_domain = 'jabber.com'
xmpp_pwd = 'content-purged'
xmpp_server = 'www.jabber.com'
xmpp_recp = 'user@jabber.com'
conn = xmpp.Client(xmpp_domain)
conn.connect(server=(xmpp_server, 5222))
conn.auth(xmpp_login,xmpp_pwd)
conn.send(xmpp.Message(xmpp_recp, "message body"))
Очевидно, для этого требуется учетная запись XMPP (Jabber) - вы можете отправлять сообщения «самому себе», так что одного будет достаточно.