Saida do cron

1. Saida do cron

Aroldo de Mattos Bossoni
aroldobossoni

(usa Ubuntu)

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.


  


2. Re: Saida do cron

William Amaral de Souza
Williamm

(usa Linux Mint)

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

William Amaral de Souza
Williamm

(usa Linux Mint)

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

Aroldo de Mattos Bossoni
aroldobossoni

(usa Ubuntu)

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

William Amaral de Souza
Williamm

(usa Linux Mint)

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

Aroldo de Mattos Bossoni
aroldobossoni

(usa Ubuntu)

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

William Amaral de Souza
Williamm

(usa Linux Mint)

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

Aroldo de Mattos Bossoni
aroldobossoni

(usa Ubuntu)

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

William Amaral de Souza
Williamm

(usa Linux Mint)

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

Aroldo de Mattos Bossoni
aroldobossoni

(usa Ubuntu)

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

Mais ai teria que alterar muitas linhas.


11. Re: Saida do cron

Paulo
paulo1205

(usa Ubuntu)

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

Aroldo de Mattos Bossoni
aroldobossoni

(usa Ubuntu)

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



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts