麻烦让cronjob工作

我有麻烦得到在Ubuntu的16.04数字海洋cronjob工作。

我编写了一个python蜘蛛,我想每5分钟运行一次。 为了运行这个蜘蛛,我用命令做了一个脚本runmyspider.sh(chmod + x):

scrapy runspider aspider.py 

现在我想通过Cron调用这个脚本。

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

然而,蜘蛛永远不会运行(我可以看到,没有更改数据库中,如果我手动执行文件的变化发生)

我在这里做错了什么? 我之前已经多次设置了一个cron,但这一次我似乎得到一个错误…

感谢您的所有build议!

  1. 始终使用绝对path来避免问题。

/bin/sh (或/ usr / bin /?)

/usr/bin/scrapy (或者无论它在哪里,都可以使用which scrapy来查找二进制文件)

最重要的是添加scrapy的aspider.py文件的脚本path来使用,我猜可能是/scripts/aspider.py

我的第一个猜测是,cron正在运行,发现sh,它发现scrapy没有findpy文件。

  1. 不要覆盖日志文件,添加到它:

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