Script com verificação de duplicidade rodando no Cron [RESOLVIDO]

13. Re: Script com verificação de duplicidade rodando no Cron [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 17/08/2012 - 16:13h

Hum... vi um negócio aki q eu acho q tá errado no seu script. Veja:


(...)
if [ ! -z "`ps | grep $PID`" ]; then
(...)


Note o símbolo d exclamação. Ele é negação, ou seja, se não obtiver resultado no comando, imprimir a msg abaixo. Retire a exclamação desse if e veja se dá certo.


  


14. Re: Script com verificação de duplicidade rodando no Cron [RESOLVIDO]

Daniel P. L. Almeida
daniel.uramg

(usa Outra)

Enviado em 17/08/2012 - 16:21h

renato_pacheco escreveu:

Hum... vi um negócio aki q eu acho q tá errado no seu script. Veja:


(...)
if [ ! -z "`ps | grep $PID`" ]; then
(...)


Note o símbolo d exclamação. Ele é negação, ou seja, se não obtiver resultado no comando, imprimir a msg abaixo. Retire a exclamação desse if e veja se dá certo.


não, pois o ! anula o próximo parâmetro -z,
entao fica no "portugol"
se [ ! (é diferente)  -z (de Nulo) "`ps | grep $PID`" ] então... 


muito estranho. Se eu abrir 2 Putty aqui e executar o script em um enquanto ele está rodando não consigo executar no outro, se mato um o outro executa. Perfeito, como tem que ser, já o Cron que ta teimando!


15. Re: Script com verificação de duplicidade rodando no Cron [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 18/08/2012 - 00:10h

Veja que no inicio do seu script a menos que "$TMP_PID" tenha conteúdo ele não será executado, e como essa variável vai ter conteúdo dentro do contexto do CRON???


Para resolver seu problema pode procurar o PID do seu script usando o ps -C

Veja


ps -C piano_shell.sh

PID TTY TIME CMD
3981 pts/0 00:00:00 piano_shell.sh


Ou seja, tenho um piano_shell.sh sendo executado ai fica fácil validar no if

Exemplo


if ! ps -C piano_shell.sh >/dev/null
then
# seu codigo
fi







16. Re: Script com verificação de duplicidade rodando no Cron [RESOLVIDO]

Daniel P. L. Almeida
daniel.uramg

(usa Outra)

Enviado em 18/08/2012 - 09:20h

rai3mb escreveu:

Veja que no inicio do seu script a menos que "$TMP_PID" tenha conteúdo ele não será executado, e como essa variável vai ter conteúdo dentro do contexto do CRON???


Para resolver seu problema pode procurar o PID do seu script usando o ps -C

Veja


ps -C piano_shell.sh

PID TTY TIME CMD
3981 pts/0 00:00:00 piano_shell.sh


Ou seja, tenho um piano_shell.sh sendo executado ai fica fácil validar no if

Exemplo


if ! ps -C piano_shell.sh >/dev/null
then
# seu codigo
fi






quando executo ps -C script.sh retorna todo os processos, acho que o PS da minha distribuição não tem essa opção..

ontem acho que encontrei o problema, no comando [ ! -z "`ps | grep $PID`" ] não estava sendo nulo pois aparecia o processo do grep, então coloquei um "grep -v grep"

if [ ! -z "`ps | grep $PID | grep -v grep`" ]; then 


parece ter resolvido o problema, vou ficar verificando o dia todo pra ver se não acontece denovo




17. Re: Script com verificação de duplicidade rodando no Cron [RESOLVIDO]

Daniel P. L. Almeida
daniel.uramg

(usa Outra)

Enviado em 21/08/2012 - 11:42h

Resolvido, o negocio foi mesmo que o resultado não era nulo pois aparecia o processo do Grep! bastou adicionar o "grep -v grep"




01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts