我在crontab中有一份工作,每分钟运行一个脚本(/home/sys_bio/username/tracer.sh
)。该脚本包含crontab没有完全正常工作。只有正在运行的echo语句
#!/usr/bin/env bash
echo "starting"
/home/sys_bio/username/p35/bin/python3.5 -m qefunctional.qe.tests.prodprobe -p post -j test.json
echo "finised"
当我在目录/home/sys_bio/username/
和我运行commany ./tracer.sh
,它运行正常。
但是,当我将作业添加到crontab时,只有echo
部分运行。
另一件需要注意的是p35
是我的python3所在的位置。所以/home/sys_bio/username/p35/bin/python3.5
是我如何运行我所有的python3脚本。
这是我在我的crontab
* * * * * /home/sys_bio/username/tracer.sh >> /home/username/tracer.cron.txt
我正在创建的.txt
文件,但只有echo语句被保存。
这看似混乱,但目录结构像这样:
/home
/sys_bio
/username
/qefunctional
__init__.py
/qe
__init__.py
/tests
__init__.py
prodprobe.py
test.json
/p35
/bin
python3.5
tracer.sh
/username
tracer.cron.txt
*编辑*
我能够多一点添加到我的剧本,所以我可以错误重定向到一个文件。该脚本现在看起来是这样,我得到这个错误:
/home/sys_bio/username/p35/bin/python3.5: Error while finding spec for 'qefunctional.qe.tests.prodprobe' (<class 'ImportError'>: No module named 'qefunctional')
脚本:
#!/usr/bin/env bash
echo "Starting Tracer POST"
/home/sys_bio/username/p35/bin/python3.5 -m qefunctional.qe.tests.prodprobe -p post -j /home/sys_bio/username/test.json -d -v 2>/home/username/crontab.output
echo "Ending Tracer POST"
尝试使用'test.json'而不是相对的绝对路径... –