Este é meu primeiro artigo compartilhado no VOL, então, não sei muito bem o que colocar para começar e por isso, vou direto ao assunto.
Estava a procura de algo para avisar se algum servidor perdesse rede, ou algo assim, que fizesse o mesmo parar de responder na rede, então, pesquisei sobre scripts para avisar por e-mail sobre estes eventos.
Encontrei bastante conteúdo na Internet, mas logo veio uma duvida: e se o próprio servidor que está a executar o script estiver sem rede, ou se o servidor de e-mail perder a rede, e se a internet não estiver funcionando?
Então, resolvi enviar estas mesmas mensagens por SMS. Fui à cata de conteúdo. Encontrei também alguma coisa na Net (mas até que não muito), então juntei tudo e desenvolvi minha ideia.
Claro que não é 100%. Vai que o servidor que está executando o script desligue. Mas, já é uma alternativa bem legal.
O que utilizei para colocar em funcionamento:
Hardware:
- Servidor Ubuntu server 10.04
- Modem 3g USB Huawei
Software:
Instalação
Mão na massa.
Obs.: todos comandos aqui listado foram executados como root.
Instalação do
SendEmail para enviar os e-mails:
# apt-get install sendemail libnet-ssleay-perl libio-socket-ssl-perl
Instalação do
Gammu, para enviar SMS:
# sudo apt-get install gammu
Pronto, tudo instalado. Agora, é só plugar o modem 3G em alguma USB, e listar as portas criadas para o mesmo.:
# ls /dev/tty*
Mostrará uma lista de tty. A que vamos usar neste caso, é a "ttyUSB0" ou "ttyUSB1". Executaremos com uma para testar, se não funcionar, testaremos com a outra.
Configuramos o Gammu:
# gammu-config
Pressione
Enter para editar e colocar a porta criada para o modem:
Enter, para Aceitar:
Clique em “Save” para salvar:
Pressione
Enter para aceitar e criar o arquivo mencionado na tela, que contém a configuração do Gammu.
Vamos testar se o modem foi encontrado na porta mencionada:
# gammu --identify
Deverá aparecer algo como esta tela:
Se isso aparecer, está tudo OK. Se não aparecer, execute novamente o comando
gammu-config e mude para a porta "/dev/ttyUSB1" e teste novamente.
Teste
Testando se está enviando SMS e enviando e-mail.
Para testar envio do SMS:
# echo teste | gammu --sendsms TEXT NumeroParaQuemVaiOsms
E receberá o SMS com a palavra: “teste”
Para testar o envio de e-mail:
# sendEmail -f EMAIL_DE -t EMAIL_PARA -u "ASSUNTO" -o "MENSAGEM" -s SERVIDOR_SMTP -xu EMAIL_DE -xp SENHA
E receberá o e-mail com o assunto e a mensagem colocada no comando acima.