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

Python 无法使用bash-cron将目录更改为脚本,python,linux,bash,cron,scrapy,Python,Linux,Bash,Cron,Scrapy,我有一个脚本可以运行Python Scrapy爬虫的多个实例,爬虫是int/root/crawler/batchscript.py 而在/root/crawler/中,我有一个脏兮兮的爬虫 爬虫工作得非常好 batchscript.py如下所示(仅发布相关代码) 当我运行batchscrip.pyinside/root/crawler/时,目录刮板运行正常 但是当我使用python/root/crawler/batchscript.py从这个目录之外运行它时,它并没有按预期运行,(设置没有正确导

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

而在
/root/crawler/
中,我有一个脏兮兮的爬虫

爬虫工作得非常好

batchscript.py如下所示(仅发布相关代码)

当我运行
batchscrip.py
inside
/root/crawler/
时,目录刮板运行正常

但是当我使用
python/root/crawler/batchscript.py从这个目录之外运行它时,它并没有按预期运行,(设置没有正确导入),
get\u project\u Settings()
为空

我也尝试过创建BASH脚本 我创建了名为
batchinit.sh

#!/bin/bash
alias batchscript="cd /root/crawler/"
python batchscript.py
行为也一样:(

当我在
/root/crawler/
目录刮板中运行
batchinit.sh
时 运行良好

但是当我使用
bash从这个目录之外运行它时
/root/crawler/batchinit.sh
则它无法按预期运行, (未正确导入设置),
获取项目设置()
空的

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


我想为此脚本创建一个cronjob。我尝试使用上述命令计划cronjob,但出现了上述问题。

使用bash,您始终可以执行以下操作:

cd /root/crawler && python batchscript.py

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

使用bash,您始终可以执行以下操作:

cd /root/crawler && python batchscript.py

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

通过在shell脚本中定义别名,您想做什么?为什么不将cd/root/crawler/放在那一行,而不是将其别名放在batchscript中?scrapy
amazon\u crawler
模块在哪里?它们在虚拟环境中吗env?这可能会有帮助:@ChristopherShroba我是shell脚本的新手…我写了一个简单的cd命令,但它不起作用…请看:通过在shell脚本中定义别名,你想做什么?为什么不把cd/root/crawler/放在那一行,而不是将其别名放在batchscript中?scrapy和amazon\u crawler
模块在哪里es?它们是否在虚拟环境中?这可能会有所帮助:@ChristopherShroba我是shell脚本的新手…我编写了简单的cd命令,但它不起作用…请参阅: