Como registrar atividades de crontab

0

Eu tenho o crontab rodando 3 execuções a cada hora. Esses scripts demoram a correr - por vezes mais de 10 minutos.

0 * * * * /usr/bin/uptime >> /local/log.txt
0 * * * * /usr/bin/php5 /local/file_1.php
0 * * * * /usr/bin/php5 /local/file_2.php
0 * * * * /usr/bin/php5 /local/file_3.php

Existe uma maneira de adicionar tempo de execução ao log.txt?

    
por Fillipe Pascalicchio 19.08.2016 / 11:20

1 resposta

0

Uma possibilidade é acrescentar o seguinte às suas linhas:

; echo "script XXX ended at: $(date)" >> /tmp/mylog

Como:

0 * * * * /usr/bin/php5 /local/file_1.php; echo "script file_1.php ended at: $(date)" >> /tmp/mylog
0 * * * * /usr/bin/php5 /local/file_2.php; echo "script file_2.php ended at: $(date)" >> /tmp/mylog
0 * * * * /usr/bin/php5 /local/file_3.php; echo "script file_3.php ended at: $(date)" >> /tmp/mylog

Já que você sabe quando o script é iniciado (a cada hora), é fácil ver quanto tempo ele correu, olhando para a data em que ele terminou.

Outra maneira é alterar os scripts do php para medir o tempo de execução e escrevê-lo em um arquivo de log personalizado a partir do próprio script.

Se você estiver usando o Solaris, pode dar uma olhada em /var/cron/log , onde os horários de início e término estão registrados.

    
por 19.08.2016 / 11:39

Tags