Recebendo seu IP dinâmico via email

Neste tutorial apresento meu script para envio de e-mail com informações sobre o servidor usando o cliente de email mutt.

[ Hits: 23.534 ]

Por: Trudelmer em 07/06/2007


Comentando o script



- /etc/init.d/sendmail start

Inicia o serviço SENDMAIL. É importante que ele esteja funcionando.

- SMTP="smtp.gmail.com"

Servidor SMTP. Troque pelo seu servidor smtp.

- USER="trudelmer@gmail.com"

Usuário SMTP. Usuário que irá autenticar no servidor smtp.

- PASS="nononono"

Senha do usuário SMTP.

- DESTINO="plankalkul@hotmail.com"

Email que vai receber as informações do servidor. Troque a vontade.

- DATA=`date +%d%m%Y`

Data.

- HORA=`date +%H%M`

Hora.

- ASSUNTO="Informações do Servidor"

Assunto do email.

- PORTA="465"

Porta do servidor de SMTP. O mais comum é 25, mas para o Gmail é 465.

- echo "set sendmail='builtin'" > /etc/muttrc

Manda a primeira configuração para o arquivo muttrc. Note que foi usado apenas um >, isso é importante pois se existir o arquivo muttrc ele reescreve do zero começando com essa linha. Você poderia ter usado o arquivo ~/.muttrc, mas achei melhor usar esse que serve para todos os usuários.

- echo "set smtp_port='$PORTA'" >> /etc/muttrc

Mais uma configuração adicionada ao arquivo muttrc, mas agora com dois >>. Isso garante que a linha será adicionada e não irá sobrescrever a linha anterior.

- echo "set smtp_host='$SMTP'" >> /etc/muttrc

Mais uma configuração adicionada ao arquivo.

- echo "set smtp_serv='$SMTP'" >> /etc/muttrc

Mais uma configuração adicionada ao arquivo.

- echo "set smtp_user='$USER'" >> /etc/muttrc

Mais uma configuração adicionada ao arquivo.

- echo "set smtp_pass='$PASS'" >> /etc/muttrc

Mais uma configuração adicionada ao arquivo.

- chmod 755 /etc/muttrc

Muda a permissão do arquivo muttrc.

echo "=== Informações sobre o Servidor ===" > /tmp/info.txt

Agora está sendo criado o arquivo info.txt.

- echo " Em: $DATA-$HORA" >> /tmp/info.txt

É adicionado a data e a hora.

- echo " " >> /tmp/info.txt

Linha em branco no arquivo.

- echo " " >> /tmp/info.txt

Linha em branco no arquivo.

- echo " " >> /tmp/info.txt

Linha em branco no arquivo.

- echo " " >> /tmp/info.txt

Linha em branco no arquivo.

- echo "== Servidor ===================" >> /tmp/info.txt

Inserindo no arquivo um cabeçalho.

- cat /etc/sysconfig/network >> /tmp/info.txt

Inserindo no arquivo algumas informações como nome.

- echo " " >> /tmp/info.txt

Linha em branco no arquivo.

- echo " " >> /tmp/info.txt

Linha em branco no arquivo.

- echo " " >> /tmp/info.txt

Linha em branco no arquivo.

- echo " " >> /tmp/info.txt

Linha em branco no arquivo.

- echo "== IPs ======================" >> /tmp/info.txt

Inserindo no arquivo um cabeçalho.

- ifconfig >> /tmp/info.txt

Inserindo os IPs do servidor no arquivo info.txt.

- echo " " >> /tmp/info.txt

Linha em branco no arquivo.

- echo " " >> /tmp/info.txt

Linha em branco no arquivo.

- echo " " >> /tmp/info.txt

Linha em branco no arquivo.

- echo " " >> /tmp/info.txt

Linha em branco no arquivo.

- echo "== Regras do firewall ============" >> /tmp/info.txt

Inserindo no arquivo um cabeçalho.

- iptables -L >> /tmp/info.txt

Inserindo no arquivo as regras de firewall que estão valendo.

- chmod 777 /tmp/info.txt

Mudando a permissão do arquivo.

- mutt -s "$ASSUNTO" -a /tmp/info.txt $DESTINO < /dev/null

Essa linha é a mais importante, manda o arquivo info.txt em anexo para o DESTINO.

As linhas abaixo você poderá descomentar para assim o servidor apagar alguns dos rastros da recente ação

- # sleep 5

Espere um pouco para o email ser enviado.

- # rm -rf /tmp/info.txt

Apague o arquivo com as informações.

- # rm -rf /etc/muttrc

Apague o arquivo de configuração. Pode apagar sem problemas, pois ele será criado a cada vez que o script rodar.

- # /etc/init.d/sendmail stop

Para o sendmail caso ele não tenha que ficar rodando.

Bom pessoal, não sou um hacker nem coisa parecida, apenas acredito que isso possa ajudar um pouco, de qualquer forma acredito também que alguém aqui possa melhorar isso, se é que vale mesmo à pena.

Só lembrando que usei esse script em uma máquina com Fedora Core 4 e com Sendmail instalado (mas não configurado).

Espero ter ajudado alguém, pois para mim o script foi muito útil.

Trudelmer

Página anterior    

Páginas do artigo
   1. Introdução
   2. Script
   3. Comentando o script
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Utilizando "expr" para "String Matching" através de expressões regulares em shell

Monitorar servidores e enviar alertas por e-mail e SMS

Expressões regulares no Bash : parte I

Redirecionamentos, Pipes e Fluxos

Operadores de redirecionamento

  
Comentários
[1] Comentário enviado por andregondim em 07/06/2007 - 12:30h

É uma forma interessante mesmo.

Não seria mais fácil usar um no-ip? Até fiz um tutorial, mas foi para usar Apache.

Abraços,
André Gondim
http://andregondim.eti.br

[2] Comentário enviado por rdaraujo em 07/06/2007 - 18:15h

Tem um programinha que faz isso tambem:
http://www.leicht.info/Freeware.54.0.html
Só mandar o google traduzir..

[3] Comentário enviado por mottinha em 07/06/2007 - 20:59h

Esse script é muito interessante, soh que me perdi no meio dele....hehe
Eu gostaria de um script semelhante a esse mas que somente enviasse um arquivo html anexo, onde esse arquivo html fosse fariável, pois estou migrando de um servidor windows com iis (onde o aplicativo roda nao sei como) para um servidor linux com apache e sendmail.
Em que parte do script eu consigo somente anexar um arquivo e preencher um email?

[4] Comentário enviado por rcaliman em 07/06/2007 - 22:43h

também acho muito mais pratico usar um sistema no estilo do no-ip.com, até porque vários deles já oferecem inclusive clientes para Linux. Uso aqui a muitos anos e nunca tive problemas.

[5] Comentário enviado por carloslorenz em 08/06/2007 - 11:36h

Acho que é por isso que gosto tanto de REBOL. Não é preciso instalar nada a não ser o binário de rebol (www.rebol.com) e com o pequeno script abaixo, você obtém os endereços das interfaces da máquina.
sempre que precisar:

REBOL[]
addresses: copy []
foreach x (get-modes tcp://:65432 'interfaces) [append addresses x/addr]
forall addresses [print first addresses]

; isto vai te devolver algo assim:

127.0.0.1
192.168.1.64
201.43.220.131

[6] Comentário enviado por edirlf em 09/06/2007 - 21:39h

Eu achei bem válido o artigo. É bom saber outras formas de se fazer isso, o que nos abre caminho para estar utilizando-o junto com outras aplicações também.
Aliás, o no-ip tem uma função pra enviar o ip que a máquina está utilizando por email periodicamente?

[7] Comentário enviado por chaplinux em 11/06/2007 - 21:39h

www.no-ip.com , com soft pra linux. filé.

[8] Comentário enviado por pitombera em 11/06/2007 - 23:34h

Bem, a intenção foi melhor do que a funcionalidade ... o no-ip é bem mais robusto ... vc coloca na inicialização do seu sistema e ele continua vericando sempre ... mas ao menos serviu pra vc aprender um pouco mais sobre shell-script .. não entedi o pq de usar o mutt(client de e-mail) em conjunto com o sendmail( servidor mta ) já q estás a usar um mta remoto, do contrário poderia usar um wrapper do próprio mta interno.

Anexar arquivo com o mutt é só anexar com o parametro '-a arquivo'

no fim ... o Artigo ficou enrolado ... e tosco.

Melhoras nos próximos.

[9] Comentário enviado por LECORTEZ em 09/02/2008 - 16:35h

Artigo interessante, mostra a possibilidade de envio de informações diversas direto para o e-mail.

Embora existam diversas maneiras de se fazer isso. Eu uso um script parecido, pra mim é interessante saber cada vez que o servidor é desligado ou reiniciado. Quando isso acontece eu recebo um e-mail informando.

Para isso é preciso apenas o Sendmail.

Forte abraço!!

[10] Comentário enviado por renanpelicari em 10/07/2008 - 10:16h

Apesar de preferir usar o no-ip pela praticidade, achei essa alternativa muito interessante.

[11] Comentário enviado por comfaa em 28/10/2008 - 13:05h

muito legal !!!

[12] Comentário enviado por removido em 17/02/2011 - 02:30h

legal!

[13] Comentário enviado por removido em 17/02/2011 - 02:33h

É mas as informações vão "viajar" em texto puro!Correto?????

É ... dai entra o problema ....

Realmente o no-ip é uma otima alternativa ....

Mas legal mesmo seu script parabens!!!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts