Enquete

    Você se considera um usuário...
    View Results

Twitter

Twitter / hevanderson » hevanderson: Procurando um bom livro sobre servidores Linux

Posted 4 months ago

hevanderson: Procurando um bom livro sobre servidores Linux [Link]

Twitter / hevanderson » hevanderson: Obrigado pelo alerta Rafael!

Posted 4 months ago

hevanderson: Obrigado pelo alerta Rafael! [Link]

Twitter / hevanderson » hevanderson: puxa, que mico essa do Ubuntu mobile hein! ainda bem q corrigi a tempo.

Posted 4 months ago

hevanderson: puxa, que mico essa do Ubuntu mobile hein! ainda bem q corrigi a tempo. [Link]

Twitter / hevanderson » hevanderson: Alguém já conseguiu instalar o CentOS numa máquina Core 2 Duo? To apanhando. Eu utilizo a iso pra x86 ou pra x86_64?

Posted 4 months ago

hevanderson: Alguém já conseguiu instalar o CentOS numa máquina Core 2 Duo? To apanhando. Eu utilizo a iso pra x86 ou pra x86_64? [Link]

Twitter / hevanderson » hevanderson: Parece que a faculdade não gosta muito de blogs. O meiobit é bloqueado mas pelo menos o Mundo hev e o Planeta Ubuntu tão liberados hehe!

Posted 4 months ago

hevanderson: Parece que a faculdade não gosta muito de blogs. O meiobit é bloqueado mas pelo menos o Mundo hev e o Planeta Ubuntu tão liberados hehe! [Link]

Twitter / hevanderson » hevanderson: Parece que funcionou, quem quiser, só adicionar. Até mais Pessoal Fiquem com Deus!

Posted 4 months ago

hevanderson: Parece que funcionou, quem quiser, só adicionar. Até mais Pessoal Fiquem com Deus! [Link]

Twitter / hevanderson » hevanderson: Primeiro teste do twitter.

Posted 4 months ago

hevanderson: Primeiro teste do twitter. [Link]

MH via e-mail

Receba as atualizações do Mundo Hev no seu e-mail

Fornecido por FeedBurner

Posts Recentes

Pingar o BlogBlogs

Ping com Esteróides, pequena atualização

31 de January de 2008, por hev

Esta tarde fiz um pequeno melhoramento naquele script que criei para pingar os servidores da minha empresa, agora o usuário pode determinar tolerância para o script, assim o alarme soa de acordo com uma porcentagem de perda determinada pelo usuário, e a quanidade de if’s também foi reduzida.

#!/bin/bash
clear
#Script para teste de internet
 
#inicializando tolerância
if [ $3 -le 0 ]
then
	tlr=0 # tlr -> tolerância
else
	tlr=$3
 
fi
 
check() ##FUNCAO Q FAZ OS TESTES DE PING
{
ping -c $1 $2 > pingtemp.txt 2> temperro.txt # o temperro.txt recebe tudo q vai para saida de erro
nome=$2
#send=`mutt -s "INNOVUS MONITORAMENTO DE INTERNET" hevandersons@gmail.com`
if [ -s temperro.txt ] #verifica se o arquivo é maior que zero, ou seja, se houve erro
then
        echo "|> ERRO DE CONEXÃO, EXPERIMENTE:"
        echo "|> CHECAR SE O ENDEREÇO ESTÁ CORRETO"
        echo "|> CHECAR OS CABOS DE REDE"
 
        sleep 3
else
        #Não houve erros
        sleep 1
        ppack=`grep received pingtemp.txt | cut -f6 -d " " | cut -f1 -d%`
        if [ $ppack -eq 0 ]
        then
                msg="Nenhuma perda de pacote, conexão com $nome perfeita"
        elif [ $ppack -gt $tlr ]
        then
		msg="ALERTA GRAVE: perda de pacotes acima do normal"
		ring2 #ring de emergencia
		#send()
	elif [ $ppack -eq 100 ]
        then
                msg="ALERTA GRAVE: PERDA TOTAL DE PACOTES, VERIFICAR CONEXÃO DE REDE"
		ring2 #ring de emergencia
		send()
        fi
 
fi
}
 
log() #GRAVA OS LOGS NAS PASTAS
{
echo "TESTE AS -> `date +%T`" >> `date +%d_%m_%Y.log`
cat pingtemp.txt >> `date +%d_%m_%Y.log`
echo >> `date +%d_%m_%Y.log`
}
 
send() #MANDA E-MAIS
{
echo $msg | mutt -s "INNOVUS MONITORAMENTO EM $nome" hevandersons@gmail.com -c  hev@mundohev.com
}
 
ring() #alertas de lentidão
{
beep -f 523.2 48 -l 10 -r 3 && beep -f 493.9 48 -r 4
}
 
ring2() #alertas de lentidão
{
beep -f 277.2 -l 500  -r 16
}
 
if [ -d $2 ]
then
        cd $2		
        check $1 $2
        log
else
        mkdir $2
        cd $2 
        check $1 $2
        log
fi

Postado em Linux, Programação, shell script | Comentar »

Script para gerenciar serviços Web

22 de January de 2008, por hev

Estava lendo os tutoriais de dialog do Aurélio, para colocar em algum script meu, quando tive a idéia de criar uma espécie de utilitário “gráfico” para agilizar as coisas que eu mais faço no meu linux: usar apache, mysql e php. Na verdade, o script não faz nada de revolucionário: eu o criei para realizar tarefas corriqueiras como reiniciar ou parar o apache e o mysql ou editar os arquivos de configuração, só pra não ter que digitar linhas (por mais que o TAB ajude) como /etc/init.d/apache2 stop , é claro, eu poderia ter criado atalhos, mas assim eu não treinaria shell script hehe.

O Ubuntu não vem com dialog instalado, utilize:

$ sudo apt-get install dialog

como o código ficou um pouco grande, vou deixar um screen, baixe o código neste link. O script deve ser executado com usuário root:

web01.png

Postado em Linux, Open Source, Programação, shell script | Comentar »

Ping com esteróides

10 de January de 2008, por hev

Certo dia, na empresa onde estou como estagiário, surgiu a necessidade de se monitorar, de tempos em tempos, se um servidor estava on-line ou não, havia um script responsável por isso, no caso de perda total de pacotes (ou seja, servidor inacessível) um e-mail de alerta era enviado aos administradores e para equipe de suporte técnico da empresa (da qual faço parte). Acontece, que muitas vezes não estávamos com a caixa de email aberta ou a mensagem passava despercebida dentre muitas outras, então veio do gerente a sugestão de fosse soado um alarme no caso do servidor ficar off-line. Outros problemas que haviam no script antigo era que o mesmo só reportava o erro quando havia perda total de pacotes, se houvesse perda parcial, nem ficávamos sabendo.

Pra sanar os problemas criei um segundo script, que além de mandar e-mails, soa um alarme quando há perda de pacotes e gera logs organizados por sites/IPs pingados. Como os computadores da empresa não tem caixas de som, o alarme não é a execução de um arquivo de áudio, mas sim um toque no speaker da máquina ( gerado com o comando beep )

Para o script funcionar perfeitamente, você deve ter o sendmail e o mutt configurados na sua máquina e configurá-lo no cron para rodar automaticamente, deve-se também instalar o programa beep:

$ sudo apt-get install beep

O que o script faz:

  • Ele pinga o endereço indicado, por uma quantidade de vezes determinada pelo usuário
  • Ele cria um diretório para armazenar os logs dos sites pingados
  • Dentro deste diretório ele redireciona as saídas padrão e de erro para arquivos te texto (pingtemp.txt e temperro.txt)
  • Ele pinga o endereço e verifica a porcentagem de pacotes perdidos
  • A partir de 20% de perda de pacotes, o alarme soa
  • A saída do comando fica no arquivo pingtemp.txt
  • Com o comando cat o conteúdo de pigtemp.txt é adicionado ao log, cujo nome é o dia em que o teste foi executado

Sintaxe: ./chkping.sh [Numero de pacotes] [endereço web ou IP]

Vamos ao código:

 
#!/bin/bash
clear
#Script para teste de internet
 
check() ##FUNCAO Q FAZ OS TESTES DE PING
{
ping -c $1 $2 > pingtemp.txt 2> temperro.txt # o temperro.txt recebe tudo q vai para saida de erro
nome=$2
#assunto=`MONITORAMENTO DE INTERNET DO HEV`
#send=`mutt -s "MONITORAMENTO DE INTERNET DO HEV" hevandersons@gmail.com`
if [ -s temperro.txt ] #verifica se o arquivo é maior que zero, ou seja, se houve erro
then
        echo "|> ERRO DE CONEXÃO, EXPERIMENTE:"
        echo "|> CHECAR SE O ENDEREÇO ESTÁ CORRETO"
        echo "|> CHECAR OS CABOS DE REDE"
 
        sleep 3
else
        #echo "Não houve erros"
        sleep 1
        ppack=`grep received pingtemp.txt | cut -f6 -d " " | cut -f1 -d%`
        if [ $ppack -eq 0 ]
        then
                msg="Nenhuma perda de pacote, conexão com $nome perfeita"
		#ring
        elif [ $ppack -gt 0 -a $ppack -le 5 ]
        then
                echo "ALERTA: Perda entre 1 e 5 % dos pacotes transmitidos"
 
        elif [ $ppack -gt 5 -a $ppack -le 10 ]
        then
                 echo "ALERTA: Perda entre 5 e 10 % dos pacotes transmitidos"
        elif [ $ppack -gt 10 -a $ppack -le 20 ]
        then
                 msg="ALERTA: Perda entre 10 e 20 % dos pacotes transmitidos"
		 ring
        elif [ $ppack -gt 20 -a $ppack -le 30 ]
        then
                 msg="ALERTA: Perda entre 20 e 30 % dos pacotes transmitidos"
		 ring
        elif [ $ppack -gt 30 -a $ppack -le 40 ]
        then
                msg="ALERTA: Perda entre 30 e 40 % dos pacotes transmitidos"
		ring
        elif [ $ppack -gt 40 -a $ppack -le 50 ]
        then
                msg="ALERTA: Perda entre 40 e 50 % dos pacotes transmitidos"
		ring
        elif [ $ppack -gt 50 -a $ppack -lt 100 ]
        then
                msg="ALERTA GRAVE: mais de 50 % dos pacotes transmitidos foram perdidos"
		ring2 #ring de emergencia
        elif [ $ppack -eq 100 ]
        then
                msg="ATERTA GRAVE: PERDA TOTAL DE PACOTES, VERIFICAR CONEXÃO DE REDE"
		ring2 #ring de emergencia
        fi
 
 
 
fi
}
 
log() #GRAVA OS LOGS NAS PASTAS
{
echo "TESTE AS -> `date +%T`" >> `date +%d_%m_%Y.log`
cat pingtemp.txt >> `date +%d_%m_%Y.log`
echo >> `date +%d_%m_%Y.log`
}
 
send() #MANDA E-MAIS
{
echo $msg | mutt -s "MONITORAMENTO EM $nome" hev@mundohev.com -c  hevandersons@gmail.com
}
 
ring() #alertas de lentidão
{
beep -f 523.2 48 -l 10 -r 3 && beep -f 493.9 48 -r 4
}
 
ring2() #alertas de lentidão
{
beep -f 277.2 -l 500  -r 16
}
 
if [ -d $2 ]
then
        cd $2
        check $1 $2
        log
else
        mkdir $2
        cd $2
        check $1 $2
        log
fi

O grande probema deste script é o fato de ser baseado em porcentagens, mas aí basta usar o bom senso na hora de determinar o número de pacotes (de tentativas)

Baixar Script

É isso, fiquem com Deus, até a pŕoxima

Postado em Linux, Open Source, Programação, shell script | 4 Comentários »

Organizando CD’s com shell script

4 de November de 2007, por hev

Minha vida como nerd nunca mais foi a mesma depois do primeiro gravador de CD’s. Enquanto meu problema com armazenamento foi resolvido, a proliferação de mídias no meu quarto fugiu totalmente do controle, pra encontrar um mísero arquivo, às vezes tinha que percorrer mais de 100 CD’s, com um simples script resolvi meu problema…

Como o script funciona?

A idéia é bem simples, quem já programa em shell nem precisa ler esta parte, o script gera uma lista de todos os arquivos de um CD com o comando tree dentro de um arquivo .txt , o tree exibe a lista de arquivos em forma de árvore(o que possibilita uma visão melhor de pastas e subpastas). Para buscar um arquivo nos CD’s usei o comando grep, veja:

#!/bin/sh
clear
echo "Olá! Selecione uma Operação"
echo "1 - adicionar CD"
echo "2 - Procurar nos CDs"
read opt
if [ $opt = 1 ]; then
     clear
     echo "Digite o ponto de montagem do cd"
     read pnt
 
     if [ -e "$pnt" ]; then 
# este if verifica se o ponto de montagem foi informado corretamente
     	echo "Qual será o nome do CD no catálogo?"
        read nomecd
	echo "Gravando CD no catálogo"
	tree "$pnt" >> $nomecd.txt
#o resultado do comando tree é gravado num arquivo de texto
	echo "CD `$nome` CD Catalogado com Sucesso!"
 
    else
 
       echo "Diretório não encontrado!! Tente novamente"
 
    fi
 
      sleep 2
fi
 
if [ $opt = 2 ]; then
    clear 
    echo "Digite o nome do arquivo que deseja encontrar"
    read arq
    echo "Arquivo encontrado nos CD's :"
    grep "$arq" *.txt
fi
 
exit

Baixar Script

Observações:

É altamente recomendável que você crie uma pasta só pra este script, pra não bagunçar seus diretórios.

Este script funciona, mas pode ficar melhor, se você fez alguma modificaçao nele, comente ou envie um e-mail para hev@mundohev.com .

O comando tree não é default em todas as distros, antes de executar o script verifique se o tree está instalado em seu sistema. Pra quem usa distribuções derivadas do Debian, pode instalá-lo com o comando:

#apt-get install tree

Para rodar o script digite:

$./cds.sh

como mamãe costuma dizer: “filho, não esqueça de dar permissão de execução pro arquivo tá?” (piada horrível):

#chmod +x cds.sh

é isso, até o próximo script, fiquem com Deus, conversem com ele!

Postado em Dicas, Linux, shell script | 5 Comentários »