python - Nitrous.io、Python 和 Cron 不工作

标签 python linux cron nitrousio

因为我的脚本在从命令行调用时运行良好。我正在尝试使用 cron 按计划运行此代码:

with open('out.txt', 'a') as f:
    f.write('Hello world! \n')

我设置了chmod a+x hello_world.py

但我想在 Nitrous.io 中使用 python3.3 运行它,因为 which pythonwhich python3.3 返回 /home/action/。 parts/bin/python/usr/bin/python3.3 分别。我尝试在脚本开头添加一些 shebang。

#!/usr/bin/python
#!/usr/bin/python3.3
#!/usr/bin/env python
#!/usr/bin/env python3.3
#!/home/action/.parts/bin/python (Weird, I know...)

命令 python 返回 2.7.6 python shell,python3.3/usr/bin/python3.3 返回 3.3 .5 python 外壳。 ls/usr/bin/python* 输出:

/usr/bin/python            /usr/bin/python2.6-config  /usr/bin/python3.2-config    /usr/bin/python3.3m                             
/usr/bin/python2           /usr/bin/python2.7         /usr/bin/python3.2mu         /usr/bin/python3.3m-config                      
/usr/bin/python2.5         /usr/bin/python2.7-config  /usr/bin/python3.2mu-config  /usr/bin/python-config                          
/usr/bin/python2.5-config  /usr/bin/python2-config    /usr/bin/python3.3                                                           
/usr/bin/python2.6         /usr/bin/python3.2         /usr/bin/python3.3-config

我还在 PATH 和 PYTHONPATH 中添加了 python 路径:

#PATH=/usr/bin/python3.3:/home/action/.parts/bin:/home/action/.parts/sbin:/home/action/.parts/autoparts/bin:/home/action/.parts/autoparts/bin:/home/action/.parts/autoparts/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/action/.gem/ru
by/1.9.1/bin   

#PYTHONPATH=/usr/bin/python3.3

pidof cron 正在返回 cron 的进程 ID。

我尝试使用 ... >/path/to/cron.log 2&>1 重定向输出,但没有成功。以及衍生品……

我的 crontab -e 文件如下所示:

PYTHONPATH=/usr/bin/python3.3
* * * * * /usr/bin/python3.3 /home/action/workspace/hello_world.py

但是我无法让它工作... 谁能帮助这个小家伙? :)

最佳答案

我的猜测 - 您的脚本运行良好。没有输出,没问题。只是不确定输出文件在哪里。

对于您的代码,请尝试使用绝对路径。

with open('/tmp/out.txt', 'a') as f:
    f.write('Hello world! \n')

顺便说一句 - #!没关系。

当你在 python 脚本前面加上 python 解释器时:

/usr/bin/python3.3 <any-file>

python interperter,而不是 shell,执行文件并忽略 #!线。

关于python - Nitrous.io、Python 和 Cron 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28244720/

相关文章:

java - 这是内存不足造成的吗?

php - 当 cron 作业不够用时,我该用什么? (php)

python - 使用 Python 操作 CSV 中的数据,仅将其应用于第一个结果

python - 模型继承效果不佳

python - 如何获取特定名称范围下的 tensorflow 变量?

python读取文件

c++ - 如何使用setenv函数?

linux - 是否可以上传一个可以在linux系统上自动运行和重启的文件

php - 在后台 php 中运行进程

linux - 从 bash 脚本设置 crontab