Linux: CRIANDO UM SCRIPT QUE MONITORE A TEMPERATURA DO SERVIDOR OU DESKTOP E LHE MANDE UM EMAIL CASO A TEMPERATURA ESTEJA ALTA

CRIANDO UM SCRIPT QUE MONITORE A TEMPERATURA DO SERVIDOR OU DESKTOP E LHE MANDE UM EMAIL CASO A TEMPERATURA ESTEJA ALTA


Olá pessoal , hoje trago para vocês um script criado por mim , que monitora as temperaturas das máquinas que você esteja trabalhando e caso esteja acontecendo algum problema que a faça aquecer , ela te envia um email, para que seja tomada a decisão sobre o aquecimento.

Não irei criar o script com vocês , porque até explicar todos os comandos iria demorar muito , mas vou deixar bem explicado pra vocês poderem usarem .
Agora os comandos vocês verão nas aulas de shell script aqui no site , então explicarei melhor la.

curso de shell script

É necessário claro que você tenha configurado o servidor de email no seu computador.

como enviar emails pelo terminal 

Primeiro entre no seu terminal
digite o comando

sensors


o resultado obtido devera ser parecido com isso.
Linux: CRIANDO UM SCRIPT QUE MONITORE A TEMPERATURA DO SERVIDOR OU DESKTOP E LHE MANDE UM EMAIL CASO A TEMPERATURA ESTEJA ALTA

Aqui segue-se o primeiro temp1  , (vou te que olhar isso).
É a temperatura da placa mãe.
Core0 primeiro núcleo do  processador.
Core2 segundo núcleo do  processador.
se o seu tiver mais serão listados aqui
É importante estabelecer um padrão de temperatura
que quer que o script te avise
por exemplo no meu
temp1 max 80
core0 max 50
core2 max 50

 Você vai pegar esse script e edita-lo conforme a sua necessidade

o script segue-se :


#!/bin/bash
#programa que monitora a temperatura da placa mae e processadores
#detectado temperatura alta em algum dos setores
#o computador enviara um email com o nome da maquina e  o alerta
#para que seja tomada as decisões  quanto ao problema
#criado por francisco marinho
#versao 0.1
ident=$(uname -n )
tempPlaca=$(sensors | grep temp1 | awk -F .   '{print $1}' | tr -d   '+ temp1 : ')
tempCore1=$(sensors | grep "Core 0" | awk -F . '{print $1}' | tr -d ' +  . Core0 : ')
tempCore2=$(sensors | grep "Core 2" | awk -F . '{print $1}' | tr -d ' +  . Core2 : ')
#verifica a placa mae
if [ ${tempPlaca} -ge "substitua sem aspas pela temperatura max da placa" ] ;then
   
  sendemail -f "substitua pelo endereco de email do remetente sem aspas" -t "substitua pelo endereco de email do destinatario sem aspas" -u "dados da maquina" -m "a maquina ${ident} esta com a  temperatura de ${tempPlaca} graus em sua placa mae ,  favor tomar as devidas precaucoes. "  -s smtp-mail.outlook.com:587 -xu "substitua pelo endereco de email do remetente sem aspas" -xp "substitua pela sua senha de login  sem aspas"



   fi

#verifica o processador 1

if [ ${tempCore1} -ge "substitua sem aspas pela temperatura max do processador"] ;then
      sendemail -f "substitua pelo endereco de email do remetente sem aspas" -t "substitua pelo endereco de email do destinatario sem aspas"-u "dados da maquina" -m "a maquina ${ident} esta com a  temperatura  de ${tempCore1} graus em seu processador numero 1 ,  favor tomar as devidas precaucoes. "  -s smtp-mail.outlook.com:587 -xu "substitua pelo endereco de email do remetente sem aspas"  -xp "substitua pela sua senha de login  sem aspas"

   fi
#verifica o processador 2

if [ ${tempCore2} -ge "substitua sem aspas pela temperatura max da processador2" ] ;then
      sendemail -f "substitua pelo endereco de email do remetente sem aspas"-t "substitua pelo endereco de email do destinatario sem aspas" -u "dados da maquina" -m "a maquina ${ident} esta com a  temperatura  de ${tempCore2} graus em seu processador numero 2 ,  favor tomar as devidas precaucoes. "  -s smtp-mail.outlook.com:587 -xu "substitua pelo endereco de email do remetente sem aspas"  -xp "substitua pela sua senha de login  sem aspas"

   fi

Fazendo isso , substituindo os dados , seu script estará pronto .

Agora de um nome e salve

de o comando :

sudo chmod a+x  nome do arquivo

Pronto agora ele é um executável ,
agora vamos colocar-lo pra rodar a cada 3 minutos na sua  máquina, para isso vamos usar o agendador de tarefas do linux o crontab

para isso de o comando :

crontab -e


Linux: CRIANDO UM SCRIPT QUE MONITORE A TEMPERATURA DO SERVIDOR OU DESKTOP E LHE MANDE UM EMAIL CASO A TEMPERATURA ESTEJA ALTA

Editando a ultima linha como fiz ,
quando der o comando /bin/bash passe todo o caminho até o seu script como está no meu

Até mais pessoal qualquer duvida entra em contato que procurarei sanar-las.

Comentários :

Postar um comentário