Idéia e motivação
Como eventualmente meu link cai, achei de bom tom que o micro fizesse o favor de me avisar quando isso ocorresse.
Como seria? Uma sirene? Não, muito ruído para pouca coisa. Um sino? Também não, pois isso não é motivo de comemoração.
Daí lembrei de uma ótima sketch do grupo Monty Python: The Dead Parrot Sketch, onde Mr. Praline, interpretado por John Cleese, tenta de todas as formas convencer o vendedor, vivido por Michael Palin, que o papagaio Norueguês Azul comprado há meia hora atrás está morto.
Implementação
Para que o micro fale, usaremos o bom e velho festival e o script speaker.sh já apresentado nesse post.
Depois criamos um novo script chamado testconn.sh com o seguinte texto.
$nano testconnection.sh
#!/bin/sh
DNS_PING=208.67.222.222
ping $DNS_PING -c 1 &>/dev/null
if [ "$?" != "0" ] ; then
sh /home/gama/scripts/speaker.sh 'The link is no more! The link ceased to be! It expired and gone to meet its maker! This is an ex link!'
fi
exit
^C
$chmod +x testconnection.sh
Daí, é só adicionar essa tarefa no crontab, para que o próprio sistema se encarregue de fazer a verificação, sem que tenhamos que usar os detestáveis loops infinitos (sim, eu os odeio), usando o seguinte comando:
$crontab -e
0-59/5 8-23 * * * /home/gama/scripts/testconn.sh
Para sair do editor, digite Shift + : e depois wq!, para salvar e sair.
Significado de cada campo:
0-59/5 -> O comando será rodado de 5 em 5 minutos
8-23 -> das 8 às 23 horas, porque de madrugada eu não quero saber se o link caiu, azar dele.
E os 3 asteriscos são para que ele rode todos os dias, meses e dias da semana, respectivamente.
E pronto, quando o link cair, "The link is no more..." será ouvido, que pena não ser a voz de Mr. Praline.
Até mais!
P.S. Dalai, este post é pra ver se você toma tento e põe o Linux pra rodar.
Posts relacionados:
Tenha seu próprio HAL com o festival
Novos arquivos de voz para o festival
The Dead Link Sketch Reloaded
2 comentários:
A valeu, amanhã vou começar a por em prática então :)
flw
Quero só ver se vai mesmo.
Postar um comentário