为scrapy设置Crontab

时间:2017-03-19 15:28:11

标签: scrapy crontab

我正在尝试设置一个用于抓取内容的crontab。到目前为止,我写了

23 18 * * * cd PycharmProjects/untitled/Project1 && scrapy crawl xx -o test.csv

但是当我这样做时,我得到了这个:

/bin/sh: scrapy: command not found.

我该怎么办? 我试图在我的mac中找到scrapy但是找不到它。但我可以从终端运行crontab任务的第二部分。

1 个答案:

答案 0 :(得分:2)

由于crontab没有为您设置PATH变量,因此它不知道scrapy是什么。

简单的补救方法是使用完整的scrapy路径:

$ which scrapy
/usr/bin/scrapy

然后使用它而不只是scrapy

23 18 * * * cd PycharmProjects/untitled/Project1 && /usr/bin/scrapy crawl xx -o test.csv

另一种方法是在crontab中设置PATH环境:

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# or your custom path, check your `.bashrc` for PATH you have set in your shell
23 18 * * * cd PycharmProjects/untitled/Project1 && scrapy crawl xx -o test.csv

旁注:
此外,在cron中将命令包装在某种脚本中非常常见,该脚本填充PATH和其他配置并在cron中调用该脚本而不是直接调用命令。