首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用bash - cron将目录更改为脚本。

无法使用bash - cron将目录更改为脚本。
EN

Stack Overflow用户
提问于 2016-11-17 18:39:42
回答 1查看 1.2K关注 0票数 0

我有一个运行多个Python爬虫实例的脚本,Crawler是int /root/crawler/batchscript.py

/root/crawler/,我有一个刮擦的爬虫。

爬虫工作得很好。

batchscript.py看起来像这样,(只发布相关代码)

代码语言:javascript
复制
from scrapy.settings import Settings
from scrapy.utils.project import get_project_settings
from amazon_crawler.spiders.amazon_scraper import MySpider

process = CrawlerProcess(get_project_settings())

当我在batchscrip.py目录下运行/root/crawler/时,刮板就能正常运行。

但是,当我使用python /root/crawler/batchscript.py从这个目录外部运行它时,它不会按预期运行(设置没有正确导入),get_project_settings()是空的。

我也尝试过创建一个BASH脚本--我创建了一个名为batchinit.sh的bash脚本

代码语言:javascript
复制
#!/bin/bash
alias batchscript="cd /root/crawler/"
python batchscript.py

而行为是一样的:

当我在batchinit.sh目录下运行/root/crawler/时,刮板就能正常运行。 但是,当我使用bash /root/crawler/batchinit.sh从这个目录外部运行它时,它不会按预期运行(设置没有正确导入),get_project_settings()是空的。

我为什么要这么做?最终目标是什么?

我想为这个脚本创建一个cronjob。我试着使用上面提到的命令来调度cron作业,但正如上面提到的,我有一些问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-17 18:42:11

使用bash,您总是可以:

代码语言:javascript
复制
cd /root/crawler && python batchscript.py

使用在cron作业中引用的程序/可执行文件的绝对路径始终是一个好策略。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40662620

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档