Se os dois processos estiverem entrando em uma situação de deadlock no banco de dados, isso pode ser a causa da falha no job mais longo (que é escolhido como a tarefa que é eliminada para resolver o deadlock). Se for esse o caso, ou se algum outro erro estiver causando a falha do processo, você poderá descobrir que o script parsedata
está retornando uma mensagem de erro útil (ou outra pista), mas nunca está vendo isso porque está descartando sua saída com %código%. Sugiro que você registre a saída em vez de enviá-la para -O /dev/null
, por exemplo:
-O /var/log/dailyparsedata/'date +%Y%m%d_%H%M'
(nota: são back-ticks, não aspas simples) criarão um novo arquivo a cada dia em /dev/null
. Você pode definir outra tarefa do cron (ou configurar o logwatch) para remover arquivos após uma determinada idade, para não preencher a partição com esses arquivos ao longo do tempo.
Além disso, pode haver condições de erro que parem /var/log/dailyparsedata/
mesmo vendo a saída do script (talvez, por algum motivo, não seja possível ver o servidor da Web por algum motivo ocasionalmente: bem possível se o servidor que está chamando for remoto), caso em que não haverá nada para a saída para o arquivo especificado por wget
, assim como o logout do script outout log wget's stdout e stderr como sugerido pela resposta de Stephen. Como as linhas do seu cron atualmente estão em execução, a maioria das implementações do cron enviarão parte dessa saída para alguém como um e-mail, adicionando -O
para manter essa informação em um arquivo. Eu evitaria enviar este tipo de saída para >> /var/log/dailyparsedata/wget.output 2>&1
, pois há dois riscos: preencher / tmp com logs para que seu uso principal seja interrompido e ser desativado por padrão quando o servidor for reinicializado, o que significa que você perderá os logs que mais tarde desejar verifique.