2017-07-31 101 views
-1

我有这个sh文件:如何在cron中执行.sh文件?

#!/bin/bash 
cd /home/leenga/Desktop/crawlCron 
scrapy crawl quotes 

这里是我的crontab:

*/2 * * * * /usr/bin/bash /home/leenga/Desktop/crawlCron/crawlcommand.sh >> /home/leenga/Desktop/crawlCron.out 

为什么它不工作? 帮帮我!

回答

0

的cron从自己的shell设置了一个不同的环境,所以,在所有的可能性问题很简单,cron的没有路径信息找到scrapy。您可以在this post利用信息修复cron的环境,但最简单的方法来解决这个问题是从cron调用scrapy时使用的完全合格的路径信息 - 例如,在你的shell脚本中使用/opt/local/bin/scrapy

+0

谢谢,但是当我在shell脚本中从cron调用scrapy时添加完全限定的路径信息时,它说“/home/leenga/anaconda2/lib/python2.7/site-packages/scrapy:是目录 “ – Anna

+0

这听起来像一个包的位置而不是脚本。从你的shell中,输入'scrapy'并在脚本中使用该路径。另外,您可以尝试通过在前面加上'运行脚本的crontab中,从早期版本。 $ HOME/.profile文件; '调度符号您的cron作业后,如'*/20 * * * * $ HOME/.profile文件; /home/leenga/Desktop/crawlCron/crawlcommand.sh >>/home/leenga/Desktop/crawlCron.out' – Eljuan