我写了一个python脚本,它读取一些日志,然后将所需的信息写入csv文件。它如果我用python myscript.py
手动执行它,工作正常。但是当我通过cron调用它时,它就不工作了。
我试过:
* * * * * python /path/to/myscript.py
* * * * * /path/to/myscript.py
* * * * * /usr/bin/python /path/to/myscript.py
在几次失败的尝试之后,我将python myscript.py
放入一个shell脚本中并手动运行它,但在cron中它仍然没有工作。在
如果您想在cronjob的帮助下在bash脚本中执行python文件。您应该使用python的完整路径(示例:/bin/python/path of python file/文件.py)bash脚本的内部。在
确保在python脚本中不使用任何类型的相对路径。这会导致脚本退出并出现错误。在
因此,请确保在脚本中不要使用
../to/something
,而是使用/path/to/something
。在ie公司
应该变成
^{pr2}$cron的默认shell不是
/bin/bash
,因此需要提供Python可执行文件的完整路径。检查
which python
的输出。在我的机器上是/usr/bin/python
。假设这样,您的cron作业条目应该是:
有时您希望在运行脚本之前使用virtualenv或设置一些环境变量或更改工作目录。
^{pr2}$在这种情况下,在bash中创建包装器脚本很方便:
假设您将上述脚本保存到
/path/to/myscript_wrapper.sh
,那么您的cron作业条目将如下所示:相关问题 更多 >
编程相关推荐