Enviado em 14/02/2011 - 04:13h
Olá pessoal,
Tenho uma dúvida que estou tentando solucionar a noite toda e não consigo.
Eu rodo o flashpolicyd na minha máquina FreeBSD, e ele anda travando de vez em quando (simplesmente para de aceitar conexões e somente volta quando eu killo e rodo novamente).
Criei um script que, em tese, deveria checar se o flashpolicyd recebe conexões e no caso de não receber, killa o processo e reinicia.
O nome do arquivo é check_flash.sh. Se eu der o comando ./check_flash.sh e ele não receber a resposta que ele quer ler, ele killa e rienicia o processo.
O problema é que no crontab ele nao funciona. Simplesmente não killa o processo. Podem me ajudar?
#!/bin/sh
SERVICE='version'
if /usr/local/bin/python -c 'print "<policy-file-request/>%c" % 0' | nc IP.4P.230.251 8001 | grep -v grep | grep -q $SERVICE
then
echo "$SERVICE está respondendo. Tudo está normal."
else
ps -aux | grep flashpolicyd.rb | grep -v grep | awk '{print$2}' | xargs kill
echo Erro no flashpolicyd. Killando e reativando o processo. | /usr/local/bin/mutt -s "Erro no Flashpolicyd ${ts}" email@email.com.br
sleep 5; echo Reativando o processo flashpolicyd...
/usr/local/etc/flashpolicyd-2.1/flashpolicyd.rb --xml /usr/local/etc/flashpolicyd-2.1/flashpolicy.xml --logfile /var/log/flashpolicy.log
fi
exit 0
Tenho uma dúvida que estou tentando solucionar a noite toda e não consigo.
Eu rodo o flashpolicyd na minha máquina FreeBSD, e ele anda travando de vez em quando (simplesmente para de aceitar conexões e somente volta quando eu killo e rodo novamente).
Criei um script que, em tese, deveria checar se o flashpolicyd recebe conexões e no caso de não receber, killa o processo e reinicia.
O nome do arquivo é check_flash.sh. Se eu der o comando ./check_flash.sh e ele não receber a resposta que ele quer ler, ele killa e rienicia o processo.
O problema é que no crontab ele nao funciona. Simplesmente não killa o processo. Podem me ajudar?
#!/bin/sh
SERVICE='version'
if /usr/local/bin/python -c 'print "<policy-file-request/>%c" % 0' | nc IP.4P.230.251 8001 | grep -v grep | grep -q $SERVICE
then
echo "$SERVICE está respondendo. Tudo está normal."
else
ps -aux | grep flashpolicyd.rb | grep -v grep | awk '{print$2}' | xargs kill
echo Erro no flashpolicyd. Killando e reativando o processo. | /usr/local/bin/mutt -s "Erro no Flashpolicyd ${ts}" email@email.com.br
sleep 5; echo Reativando o processo flashpolicyd...
/usr/local/etc/flashpolicyd-2.1/flashpolicyd.rb --xml /usr/local/etc/flashpolicyd-2.1/flashpolicy.xml --logfile /var/log/flashpolicy.log
fi
exit 0