O trabalho do Cron sendo executado com sucesso repentinamente não é encontrado o script de relatórios

1

O que pode fazer com que o cron repentinamente relate um arquivo que ele deve executar é "não encontrado", quando o arquivo não foi tocado e, na verdade, o sistema inteiro não foi tocado desde a última vez que foi executado com sucesso?

Eu tenho um cronograma de cronjob que defino fazendo sudo crontab -e .

Nela, tenho dezenas de tarefas agendadas que são executadas com êxito. Não tenho um PATH especificado e uso caminhos absolutos para chamar todos os meus scripts agendados, configurando o PATH neles conforme necessário. Eu não especifico um SHELL no crontab. Todos os scripts identificam o shell como sua primeira linha.

Sem que eu toque no sistema, um trabalho específico definido no meio de outros trabalhos subitamente parará de ser executado.

Para depurar isso, adicionei um redirecionamento de saída a um arquivo de log. Nessa, a saída mostra claramente a saída do script sendo executada com sucesso várias vezes por semanas e, de repente, aparece o seguinte:

/bin/sh: /home/iupress/bin/sync-email_images: not found
/bin/sh: /home/iupress/bin/sync-email_images: not found
/bin/sh: /home/iupress/bin/sync-email_images: not found
/bin/sh: /home/iupress/bin/sync-email_images: not found
/bin/sh: /home/iupress/bin/sync-email_images: not found
/bin/sh: /home/iupress/bin/sync-email_images: not found
/bin/sh: /home/iupress/bin/sync-email_images: not found
/bin/sh: /home/iupress/bin/sync-email_images: not found
/bin/sh: /home/iupress/bin/sync-email_images: not found

Se eu fizer o comando ls , copiando e colando esse caminho exato da mensagem de erro, ele informará claramente que o arquivo ainda está lá (não é surpresa). No entanto, o registro continua a relatar que o arquivo "não foi encontrado" até que eu aja.

Eu posso executar o script manualmente e ele funciona muito bem.

Se eu sudo crontab -e e salve o arquivo, o trabalho é executado na próxima hora agendada, colocando sua saída no log, não mais informando que o script é "não encontrado".

Parece-me que o conteúdo do script que está tentando ser executado é irrelevante, já que o cron nem processa o arquivo porque ele "não foi encontrado".

Eu tenho um trabalho agendado abaixo do que está encontrando esse problema que eu sei que continua a ser executado, porque tenho sua saída enviada para mim. Então, eu sei que o cron está em execução e continua a executar pelo menos um outro trabalho, mesmo depois que ele repentinamente reportar que o script desse job "não foi encontrado".

Todas as minhas linhas terminam com uma nova linha. Eu não tinha períodos no crontab até adicionar o redirecionamento a um arquivo de log. Eu adicionei agora uma especificação PATH, mas deixei os caminhos absolutos nos trabalhos. Infelizmente, não tenho idéia se e quando esse problema ocorrerá. Será provavelmente daqui a algumas semanas.

A propósito, eu estou executando um script para sincronizar o relógio, e vejo que a hora é exatamente o que deveria ser.

    
por Ted B 03.07.2012 / 16:10

1 resposta

0

Não tenho certeza se isso será de alguma ajuda. Mas reiniciar seu cron pode ou não ajudar.

sudo service cron restart 
    
por Shelby. S 03.07.2012 / 17:04