【发布时间】:2015-01-30 21:14:00
【问题描述】:
因为我的脚本在从命令行调用它时运行良好。我正在尝试使用 cron 按计划运行此代码:
with open('out.txt', 'a') as f:
f.write('Hello world! \n')
我已经设置了chmod a+x hello_world.py
但我想用 python3.3 在 Nitrous.io 中运行它,因为 which python 和 which python3.3 分别返回 /home/action/.parts/bin/python 和 /usr/bin/python3.3。我试图在脚本的开头添加一些 shebangs。
#!/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 shell。和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
但我无法让它工作...... 谁能帮助这个小家伙? :)
【问题讨论】:
-
您检查过您的 cron 作业被记录到的日志文件吗?因为,可能存在与打开或写入该文件有关的权限相关错误。要查找它的登录位置,您可能需要查看 unix.stackexchange.com/questions/207/… 或 askubuntu.com/questions/56683/where-is-the-cron-crontab-log。
-
在 Nitrous.io 中没有根。我无法检查 grep CRON /var/log/syslog :( 我设法使
* * * * * ls -la; >> /home/action/workspace/cron.log工作正常。我还在脚本结果的奇怪路径中找到了一个文件,所以它工作在某个时间......我正在检查它
标签: python linux cron crontab nitrousio