Sem Queda
Publicado por Diego Silva 19/01/2004
[ Hits: 4.896 ]
Homepage: http://www.diegosilva.net
Devido aos problemas que tive no passado referente a sobrecarregamento do cpu de meus servidores eu fiz um script eu checa o load average e envia um e-mail e/ou reinicia o sistema em caso do sobrecarregamento do cpu.
#!/usr/bin/perl ############################################# ################Sem queda 1.0################ ############################################# # Checa o Nivel de Processamento do CPU. # # E o reinicia em caso de sobrecarregamento # # As ações do mesmo são enviadas por e-mail # # para o Administrador do Sistema. # # # # Recomendo que o script seja agendado # # na crontab do Sistema # ############################################# #Escrito por Diego Silva(djspeed@bol.com.br)# ############################################# # E-mail do Administrador do Sistema $emailadmin = "djspeed\@bol.com.br"; # não tire a \ antes do @ # Load Average Máximo $loadaverage = "10.0"; # Reiniciar o Sistema quando o load average máximo for atingido? # 1 para sim e 0 para não $reiniciar = "1"; # Path do SendMail $sendmail = "/usr/sbin/sendmail"; ############################################# ###########Não Mexa Em mais Nada############# ############################################# print "=================================\n"; print "==========Sem Queda V1.0=========\n"; print "=================================\n"; print "Verificando o Sistema....\n\n"; ($buf1,$buf2,$buf3)=&get_uptime_info; print "Load Average Maximo: $loadaverage\n"; print "Load Average Atual : $buf2\n\n"; $hostname = qx/hostname/; if($buf2 < $loadaverage) { print "Sistema trabalhando normalmente\n"; print "=================================\n"; print "Sistema Escrito por Diego A. Silva\n"; print "E-mail de Contato: djspeed\@bol.com.br\n"; print "=================================\n" }else{ print "Sistema sobrecarregado....\n"; print "Enviando e-mail ao administrador...\n"; open(MAIL,"|$sendmail -t"); print MAIL "To: $emailadmin\n"; print MAIL "From: $emailadmin\n"; print MAIL "Subject: Sistema Sobrecarregado [Sem Queda 1.0]\n\n"; print MAIL "Caro Administrador,\n"; print MAIL "O Sistema de $hosname está sobrecarregado.\n"; print MAIL "Trabalhando atualmente com o Load Average de $buf2."; if($reiniciar eq"1"){ print MAIL "O Sistema está sendo reiniciado.\n"; } print MAIL "\nSem Queda V1.0"; close (MAIL); print "Reiniciando o Sistema..."; system("reboot"); } ############################################# sub get_uptime_info { my ($uptime,$load,$users,$res,@buf,$buf); if ($^O=~ /win/i) { $uptime=$load=$users='<small>ERRO</small>'; } else { eval {$res=`uptime`;}; if (($@) || ($res eq '') ) { $uptime=$load=$users='<small><font color=red>Nao foi possivel detectar</font></small>'; } else { chomp($res); if ($res=~ s/\,*\s*load\s*averages*\s*\:*\s*(.*)//i) { $buf=$1; $buf=~ s/^\s+//; @buf=split(/,*\s+/,$buf); $load="$buf[0]"; } else { $load='<small>Não foi possivel detectar</small>'; } if ($res=~ s/\,*\s*(\d+)\s+user\(*s*\)*//i) { $users=$1; } else { $users='<small><font color=red>Nao foi possivel detectar</font></small>'; } if ($res=~ /up\s*\:*\s*(.*)\,*/) { $uptime=$1; $uptime=~ s/day/day/igs; $uptime=~ s/min/minute/igs; $uptime=~ s/(\d+)\:(\d+)/$1 hour\(s\) $2 minute(s)/igs; } else { $uptime='<small>Nao foi possivel detectar</small>'; } } } return ($uptime,$load,$users); } #############################################
Introdução a Persistência de Estrutura de Dados em Perl
htt[p]erl, simulador de web server
Nenhum comentário foi encontrado.
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Máquinas Virtuais com IP estático acessando Internet no Virtualbox
Instalar o Microsoft Edge no Slackware 15
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Separar trafego da VPN da VPS (0)
Formatando cartão de memoria que nao formata[AJUDA] (17)
warsaw parou de funcionar após atualização do sistema (solução) (0)
Desde que seja DDR3, posso colocar qualquer memória? [RESOLVIDO] (6)