编写Crontab任务
每一分钟启动一次任务
*/1 * * * * /Users/myname/run.sh
编写shell任务
#!/bin/bash
PATH=/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/Users/wangdong/Downloads/
cd ~/Documents/costco
scrapy crawl blacklenovo
这里要加入PATH的定义,因为cron中的path和用户的path环境变量不一致,所以会出现scrapy not found的错误。
scrapy not found
编写好任务后,经常会发现任务并没有运行,这可能是因为代码有错误或者cron环境变量问题,如:scrapy not found。出现以上错误是因为cron的PATH和用户的PATH不一致,cron找不到scrapy的路径。编写另一个任务打印出cron中的环境变量:
* * * * * env > tmp/cron_env
再打开命令行,输入env;比较两个env,然后在脚本中定义PATH为用户的PATH,这样crontab就可以找到scrapy命令了。