Pular para o conteúdo

Saida do cron

Responder tópico
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
  • Denunciar
  • Indicar
01 02

1. Saida do cron

Enviado em 30/03/2016 - 10:16h

Olá, tenho um script no cron que executa vários outros scripts em PHP, Shell e Perl e em todos esses script preciso saber quanto tempo ficou em execução, então hoje está assim:

Crontab:
01 00 * * * /bin/bash /root/teste.sh &>/home/marisa/log_cronzao.txt 


[b]/root/teste.sh[:/b]
#!/bin/bash
echo "Teste" ; time ls -la /tmp/*


Dessa forma o retorno vem vazio para o arquivo log_cronzao.txt
Se retirar o /bin/bash da linha do cron o retorno do comando time vem troncado.

Alguém tem ima ideia de como resolver isso.

Responder tópico

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

2. Re: Saida do cron

Enviado em 30/03/2016 - 11:06h

O ideal seria colocar no inicio e no fim do script algo assim..

echo `date +%H%m%S` >> /home/marisa/log_cronzao.txt

3. Re: Saida do cron

Enviado em 30/03/2016 - 11:08h

Ou até incrementar mais..

#!/bin/bash
echo "INICIO DA EXECUCAO" >> /home/marisa/log_cronzao.txt
echo `date +%H%m%S` >> /home/marisa/log_cronzao.txt

echo "EXECUTANDO SCRIPTS..." >> /home/marisa/log_cronzao.txt


# NO FINAL DO SCRIPT
echo "FINAL DA EXECUCAO" >> /home/marisa/log_cronzao.txt
echo `date +%H%m%S` >> /home/marisa/log_cronzao.txt

4. Re: Saida do cron

Enviado em 30/03/2016 - 17:44h

Williamm como são mais de 200 scripts não da para editar todos.
Teria que ser chamado com um comando que contasse o tempo de execução.

Obrigado.

5. Re: Saida do cron

Enviado em 31/03/2016 - 08:52h

Certo, vai querer contar o tempo de execução de cada script, ou total?


E como você chama os scripts na crontab, tem uma lista com todos agendado?

6. Re: Saida do cron

Enviado em 31/03/2016 - 10:45h

Quero contar o tempo de cada script.
O cron chama 1 script em shell que chama todos os outros script para serem executados sequencialmente.

7. Re: Saida do cron

Enviado em 31/03/2016 - 10:57h

Consegue colocar um pedaço do script que chama os outros scripts aqui?

8. Re: Saida do cron

Enviado em 31/03/2016 - 15:29h

echo "envia_email.pl"                                       ; time  /www/cgi-bin/envia_email.pl
date
echo "callcenter_interacao.pl" ; time /www/cgi-bin/callcenter_interacao.pl
date
echo "atualiza-status-faturamento.pl" ; time /www/cgi-bin/atualiza-status-faturamento.pl
date

9. Re: Saida do cron

Enviado em 31/03/2016 - 16:14h

aroldobossoni escreveu:

echo "envia_email.pl"                                       ; time  /www/cgi-bin/envia_email.pl
date
echo "callcenter_interacao.pl" ; time /www/cgi-bin/callcenter_interacao.pl
date
echo "atualiza-status-faturamento.pl" ; time /www/cgi-bin/atualiza-status-faturamento.pl
date


E se colocar assim?

echo "INICIO DA EXECUCAO" >> /home/marisa/log_cronzao.txt
echo "envia_email.pl" ; time /www/cgi-bin/envia_email.pl
echo "FINAL DA EXECUCAO" >> /home/marisa/log_cronzao.txt

10. Re: Saida do cron

Enviado em 31/03/2016 - 17:03h

Mais ai teria que alterar muitas linhas.

11. Re: Saida do cron

Enviado em 31/03/2016 - 17:52h

Eu não sei como é no Slackware, mas no Debian e derivados, /bin/sh e /bin/bash são programas diferentes (ao contrário de Red Hat e derivados, em que ambos os arquivos se referem ao Bash).

Por segurança, em vez de fazer “comando &> arquivo”, faça “comando > arquivo 2>&1”. O operador de redirecionamento &> é uma extensão particular do Bash, inspirada em operador semelhante existente numa outra família de shells, baseada no C-Shell (que, por sinal, é bastante incompatível com o shell padrão em vários aspectos).

12. Re: Saida do cron

Enviado em 01/04/2016 - 09:33h

paulo1205 escreveu:

Eu não sei como é no Slackware, mas no Debian e derivados, /bin/sh e /bin/bash são programas diferentes (ao contrário de Red Hat e derivados, em que ambos os arquivos se referem ao Bash).

Por segurança, em vez de fazer “comando &> arquivo”, faça “comando > arquivo 2>&1”. O operador de redirecionamento &> é uma extensão particular do Bash, inspirada em operador semelhante existente numa outra família de shells, baseada no C-Shell (que, por sinal, é bastante incompatível com o shell padrão em vários aspectos).


Só complementando o bash não usa o programa time, ele mesmo tem o "time" implementado como um recurso interno de forma limitada. Para usar o programa time tem que usar o caminho completo /usr/bin/time

No caso estou usando Ubuntu Server.

Mais o seu comentário vai me ajudar muito.
01 02

Responder tópico

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Responder tópico

Entre na sua conta para responder.

Fazer login para responder