Por que este simples cronjob não está sendo executado e como faço para verificar os arquivos de log relevantes?

0

Eu tenho um roteiro 'R' que eu quero rodar às 00:30 todos os dias, ou seja, às 12:30 todos os dias. O script em si está localizado em ~/Desktop/foldername/runme.r e which Rscript indica que o caminho exato para o binário Rscript é /usr/bin/Rscript . Então eu faço a seguinte entrada crontab:

crontab -e
54 13 * * * /usr/bin/Rscript ~/Desktop/foldername/runme.r

O tempo agora é 13:52, claro. E espero 5 minutos para ver se um arquivo CSV é criado na minha pasta pessoal. Como o script R runme.r tem instruções para processar alguns dados e depois criar um arquivo CSV na pasta pessoal.

Mas sem sorte. Às 13:54, nenhum arquivo CSV é criado na minha pasta pessoal. Por favor, note que quando eu executo este script manualmente (sem usar o cron), ele faz criar um arquivo CSV na minha pasta pessoal. Então eu sei que não há nada de errado com o meu roteiro. Então, por que o cronjob não está sendo executado como planejado e o que posso fazer para corrigi-lo ou como faço para verificar os arquivos de log quanto a fontes adicionais de informações?

EDIT: NOVA OBSERVAÇÃO

Se eu alterar a linha para * * * * * /usr/bin/Rscript /home/username/Desktop/foldername/runme.r em vez de especificar a hora exata, ela criará o arquivo CSV correto no local correto. Então * * * * * funciona e 54 13 * * * não funciona. Por quê?

    
por learnerX 25.08.2016 / 19:58

1 resposta

2

Eu descobri depois da última observação que fiz sobre o tempo. Isso vai me fazer parecer bobo, mas eu estava errado. Eu estou testando este cronjob em uma máquina virtual que tem um tempo diferente da minha máquina host. Eu estava agendando o trabalho na máquina virtual e observando a hora na minha máquina host. Ambas as vezes sendo diferentes significam que o script não foi executado na hora que eu esperava também.

    
por 25.08.2016 / 22:20