Problema ao fazer o cronjob funcionar [duplicado]

1

Estou tendo problemas para fazer um cronjob no oceano digital do Ubuntu 16.04 funcionar.

Eu programei uma aranha python, que eu quero rodar a cada 5 minutos. Para executar esta aranha fiz um script runmyspider.sh (chmod + x) com o comando:

scrapy runspider aspider.py

Agora eu quero chamar este script via Cron.

*/5 * * * * sh /scripts/runmyspider.sh 2>&1 /scripts/spider.log

No entanto, a aranha nunca é executada (vejo que nenhuma alteração no banco de dados foi feita, se eu executar o arquivo manualmente, as alterações acontecem)

O que estou fazendo de errado aqui? Eu configurei um cron várias vezes antes, mas desta vez parece que eu recebi um erro ...

Obrigado por todos os seus conselhos!

    
por Tom 24.08.2017 / 21:38

1 resposta

0

  1. Sempre use caminhos absolutos para evitar problemas.

/bin/sh (ou / usr / bin /?)

/usr/bin/scrapy (ou onde quer que esteja, você pode usar which scrapy para encontrar o binário)

e, mais importante, adicionar caminho de script para o arquivo aspider.py para o uso de scrapy, eu acho que poderia ser /scripts/aspider.py ?

Meu primeiro palpite é que o cron está rodando, localiza sh, que encontra um arquivo scrapy que não encontra o arquivo py.

  1. Não sobrescreva o arquivo de log, adicione a ele:

*/5 * * * * /bin/sh /scripts/runmyspider.sh >> /scripts/spider.log 2>&1

    
por 25.08.2017 / 08:56

Tags