Se você tiver um servidor separado para executar seu script de verificação, algo como isso faria um teste simples de Ping para verificar se o servidor está ativo:
#!/bin/bash
SERVERIP=192.168.2.3
[email protected]
ping -c 3 $SERVERIP > /dev/null 2>&1
if [ $? -ne 0 ]
then
# Use your favorite mailer here:
mailx -s "Server $SERVERIP is down" -t "$NOTIFYEMAIL" < /dev/null
fi
Você pode agendar o script para executar periodicamente.
Se você não tiver o mailx, precisará substituir essa linha por qualquer programa de email da linha de comando que você possui e provavelmente alterar as opções. Se sua operadora fornecer um endereço de email SMS, você poderá enviar o email para esse endereço. Por exemplo, com a AT&T, se você enviar um email para phonenumber @ txt.att.net, ele enviará o email para o seu telefone.
Aqui está uma lista de emails para gateways SMS:
http://en.wikipedia.org/wiki/List_of_SMS_gateways
Se o seu servidor for um servidor da web acessível ao público, existem alguns serviços gratuitos para monitorar seu site e alertá-lo se estiver inativo, pesquise na web um monitoramento gratuito do site para encontrar alguns.
O ping é uma opção, mas em muitas ocasiões uma máquina poderá enviar uma resposta de ping, enquanto o servidor atual está inativo. É melhor fazer um teste de ponta a ponta. No exemplo abaixo, uma página é solicitada ao servidor da web.
Se for um servidor da web, seria algo como isto:
Se você mudar o documento html para um documento php, e fazer com que o script php teste coisas como a conexão com o banco de dados, sistemas de arquivos etc., você poderá testar ainda mais aspectos do servidor. Dessa forma, você pode iniciar o monitoramento proativo da máquina (consulte os problemas antes que eles causem pane no servidor).
Semelhante à verificação de um servidor de correio, mas em vez de solicitar uma página da Web, você simplesmente envia um email através do servidor de correio e verifica se o recebe em sua caixa de correio.
fonte
Aqui está como eu resolvi o mesmo problema
fonte
/usr/bin/mail -s "$SERVER went down" "$SENDEREMAIL" "$SMSEMAIL"
.Eu recomendo usar o Nagios , é uma infraestrutura para monitorar e alertar sobre qualquer serviço que você desejar (muitos plugins disponíveis e você pode escrever o seu). Obviamente, ele pode fazer pings simples para verificar a disponibilidade dos servidores, mas, como outros já apontaram, é melhor verificar a disponibilidade de serviços (por exemplo, web, email etc.) em vez disso (o que os nagios podem fazer facilmente).
fonte