scrapy使用crontab定时任务不能自动执行的调试

在用crontab进行定时任务时,发现任务并没有执行。而手动bash yourshell.sh时可以正常的执行程序。以下是个人的解决流程。

一、将错误打印打out.log

*/10 * * * * bash yourshell.sh >> /tmp/out.log 2>&1

二、查看out.log发现并没有出错。那么一般是shell脚本环境变量的问题。

export PATH=$PATH:/usr/local/bin(如果没有这一行语句,shell会不识别scrapy)

cd /home/your/spider/

nohup scrapy crawl yourspider >> cookie.log 2>&1 &

附:scrapy启动自动添加crontab定时任务

 #!/bin/sh
export PATH=$PATH:/usr/local/bin
if grep -Fxq "*/10 * * * * bash /your/shell.sh >> /tmp/out.log 2>&1" /var/spool/cron/${USER}
then
cd /your/spider/
nohup scrapy crawl spider_name >> cookie.log >& &
else
cronfile='/tmp/crontab.${USER}'
echo "*/10 * * * * bash /your/shell.sh >> /tmp/out.log 2>&1" >> $cronfile
crontab $cronfile
rm -rf $cronfile
cd /your/spider/
nohup scrapy crawl spider_name >> cookie.log >& &
fi
上一篇:pydensecrf的使用


下一篇:MongoDB非正常关闭后修复记录