Ubuntu 10.04 - Envie um email quando o computador for iniciado

0

Eu tenho um desktop Ubuntu 10.04 em casa que funciona 24/7. Recentemente, notei que a máquina ocasionalmente reinicia por conta própria (aprox. Uma vez por mês). Eu gostaria de configurar este servidor para que eu receba um e-mail toda vez que o servidor for iniciado. Eu gostaria de receber o e-mail na minha conta do Gmail e configurarei outra conta do Gmail para o servidor usar para enviar e-mails (se necessário).

Como um bônus adicional, seria ótimo se o e-mail pudesse conter algum tipo de informação de diagnóstico referente ao que causou a falha e reinicialização do servidor.

Obrigado

    
por Justin Kredible 01.01.2013 / 21:00

2 respostas

1

Eu vejo pelo menos duas opções possíveis:

  1. Adicione um novo cronjob (por exemplo, @reboot root mail -s "Acabei de reinicializar" [email protected]
  2. Instalar o logcheck; ele enviará as mensagens de log contendo o motivo da reinicialização (se houver alguma entrada de log sobre elas)
por 01.01.2013 / 23:10
0

É difícil controlar por que seu computador travou e reiniciou, mas você pode enviar seus registros por e-mail com o e-mail de notificação. Para monitoramento avançado, sugiro experimentar o Zabbix, o NagiOS ou o Cacti. No entanto, aqui está um script simples do Python 2.7 para enviar um e-mail com o comando "./script.py username_for_gmail path_to_letter":

#!/usr/bin/python2.7
import smtplib
import getopt
import sys

args = getopt.getopt(sys.argv[1:], ":")
laiskas = args[1][1]
SENDER = "no-reply@" + args[1][0]
mssg = open(laiskas, 'r').read()
RECIPIENTS = ['[email protected]']

server = smtplib.SMTP('smtp.gmail.com',587)
#server.set_debuglevel(1)
server.ehlo()
server.starttls()
server.ehlo()
server.login(args[1][0] + "@gmail.com","R7olM6Qw")
server.sendmail(SENDER,RECIPIENTS,mssg)
server.quit()

Você precisa alterar o R7olM6Qw para sua própria senha do GMail. Além disso, altere a variável RECIPIENTS para seus endereços. O script precisa de smtplib e python2.7, que pode ter que ser instalado no seu servidor a partir do apt.

Depois, você pode criar um arquivo de texto simples ao lado do script:

To: [email protected]
From: [email protected]
Subject: Computer powered on!
Random text here...

No final, basta adicionar uma nova linha ao arquivo /etc/rc.local:

/path/to/the/python/script gmail_username /path/to/the/letter

No entanto, esse não é um método seguro, pois você armazenará sua senha de maneira insegura, então sugiro criar uma caixa de correio apenas para isso. Além disso, lembre-se disso e chmod todos os scripts para evitar que outros usuários façam algo com eles.

Em vez disso, acho que é mais razoável ter um servidor separado com script de mailer PHP disponível apenas para os IPs dos servidores. Nesse caso, o servidor separado estaria fazendo o serviço de correspondência com segurança, deixando os outros servidores apenas com o curl ou wget para enviar as notificações.

    
por 01.01.2013 / 22:05

Tags