Pular para o conteúdo

Monitoramento de processos (Shoutcast e AutoDJ)

Responder tópico
  • Denunciar
  • Indicar

1. Monitoramento de processos (Shoutcast e AutoDJ)

Enviado em 24/08/2009 - 00:51h

Um amigo meu fez um scriptzinhu pra mim e funcionou perfeitamente para rodar as rádios!

Veja o script:
[radio.sh]
------------------------------------------------------------------
#!/bin/sh

PORTAS="8110 8112 8114"

# nao alterar a partir daqui
for PORTA in $PORTAS
do
VAR=`ps aux | grep "sc_serv $PORTA.conf" | wc -l`

echo -n "Shoutcast na $PORTA: "
if [ $VAR -eq 2 ]; then
echo "OK"
else
echo "OFF"
date
echo "- Colocando para rodar..."
cd /home/shoutcast/
./sc_serv $PORTA.conf > /var/log/shoutcast.log &
fi
echo ""
done
------------------------------------------------------------------


Copiei o mesmo código e só modifiquei o comando e estou tendo problemas com uma multiplicação dos processos.
Ele roda vários processos iguais "./sc_autodj 8110.adj" e tbm com os outros de portas diferentes.

[autodj.sh]
------------------------------------------------------------------
#!/bin/sh

PORTAS="8110 8112"

# nao alterar a partir daqui
for PORTA in $PORTAS
do
VAR=`ps aux | grep "sc_autodj $PORTA.adj" | wc -l`

echo -n "Auto-DJ na porta $PORTA: "
if [ $VAR -eq 2 ]; then
echo "OK"
else
echo "OFF"
date
echo "- Colocando para rodar..."
cd /home/shoutcast/
./sc_autodj $PORTA.adj > /var/log/shoutcast.log &
fi
echo ""
done
------------------------------------------------------------------



Ele roda os 2 script a cada 20 minutos, para que eles verifiquem se as rádios e autodjs estão funcionando perfeitamente. Se não estiverem, ele executa novamente:
------------------------------------------------------------------
0,20,40 * * * * /home/shoutcast/radio.sh > /dev/null 2>&1
0,20,40 * * * * /home/shoutcast/autodj.sh > /dev/null 2>&1
------------------------------------------------------------------

Por algum motivo ele ta executando os "autodj" novamente, mesmo eles funcionando.
Se eu rodar o comando manualmente, ele não executa esses vários processos.

Alguém saberia me dizer o que poderia ser?

Responder tópico

2. Re: Monitoramento de processos (Shoutcast e AutoDJ)

Enviado em 13/09/2009 - 10:31h

usei o mesmo exemplo e funcionou:

#!/bin/sh

PORTAS="8000"

for PORTA in $PORTAS
do
VAR=`ps aux | grep "sc_serv $PORTA.conf" | wc -l`
VAR="http://www.criawebs.com.br";
echo -n "Shoutcast na $PORTA: "
if [ $VAR -eq 2 ]; then
echo "Deu"
else
echo "Nao deu"
date
echo "- Colocando para rodar..."
cd /home/~criawebs/shoutcast/
./sc_serv $PORTA.conf > /var/log/shoutcast.log &
fi
echo ""
done

3. Re: Monitoramento de processos (Shoutcast e AutoDJ)

Enviado em 15/09/2009 - 13:28h

Cara, a primeira coisa que eu tentaria é salvar o valor do $VAR para ver o que está saindo, pois a lógica me parece certa. Assim, tentei reproduzir seu problema e não consegui, mas uma dica é, mudar de "-eq" pra "-ge".

4. Re: Monitoramento de processos (Shoutcast e AutoDJ)

Enviado em 15/11/2011 - 03:00h

Bom estava testando esse script no Debian 4 sem sucesso pois quando ele chegava na parte da variável:
VAR=`ps aux | grep "sc_serv $PORTA.conf" | wc -l` 
ele não apresenta o resultado "2" mas sim o "1" (por via das duvidas sempre veja a saída da variável $VAR para corrigir a linha a baixo quando necessário )
então modifiquei a linha:
if [ $VAR -eq 2 ]; then  
para:
 if [ $VAR -eq 1 ]; then  
e apaguei a linha:
 VAR="http://www.criawebs.com.br";  
pois ela estava dando conflito com o resultado do $VAR
ai funcionou perfeitamente
ahhhh
eu testei no ubuntu e não foi necessário nenhuma modificação apenas apaguei a linha:
 VAR="http://www.criawebs.com.br";  
e deu tudo certo!!

tamigo escreveu:

usei o mesmo exemplo e funcionou:

#!/bin/sh

PORTAS="8000"

for PORTA in $PORTAS
do
VAR=`ps aux | grep "sc_serv $PORTA.conf" | wc -l`
VAR="http://www.criawebs.com.br";
echo -n "Shoutcast na $PORTA: "
if [ $VAR -eq 2 ]; then
echo "Deu"
else
echo "Nao deu"
date
echo "- Colocando para rodar..."
cd /home/~criawebs/shoutcast/
./sc_serv $PORTA.conf > /var/log/shoutcast.log &
fi
echo ""
done

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder