如何解决尽管手动运行时,Python脚本仍未在cron下运行
| 我知道对此有很多疑问,但是我已经尝试了一段时间了,但没有运气。我有一个简单的python testscript,它创建一个带有时间戳的文件夹。当我手动运行它时,它可以完美工作,但是当我尝试将其放入crontab时,什么也没有发生。知道我在这里搞砸了吗?这是脚本:(位于/ home / ec2-user / cronscripts中)from subprocess import call
from time import time
import math
call([\"mkdir\",\"derp\" +str(math.floor(time()))])
和crontab -l产生输出
* * * * * python /home/ec2-user/cronscripts/testscript.py
我也尝试将\'root \'放入命令中,但是没有骰子。我还尝试过一些在脚本文件中显式设置PATH变量的操作。
From root@domU-12-31-38-00-AC-02.compute-1.internal Wed Jun 15 19:57:01 2011
Return-Path: <root@domU-12-31-38-00-AC-02.compute-1.internal>
Received: from domU-12-31-38-00-AC-02.compute-1.internal (localhost [127.0.0.1])
by domU-12-31-38-00-AC-02.compute-1.internal (8.14.4/8.14.4) with ESMTP id p5FJv1aS006094
for <root@domU-12-31-38-00-AC-02.compute-1.internal>; Wed,15 Jun 2011 19:57:01 GMT
Received: (from root@localhost)
by domU-12-31-38-00-AC-02.compute-1.internal (8.14.4/8.14.4/Submit) id p5FJv1Dc006093;
Wed,15 Jun 2011 19:57:01 GMT
Date: Wed,15 Jun 2011 19:57:01 GMT
Message-Id: <201106151957.p5FJv1Dc006093@domU-12-31-38-00-AC-02.compute-1.internal>
From: root@domU-12-31-38-00-AC-02.compute-1.internal (Cron Daemon)
To: root@domU-12-31-38-00-AC-02.compute-1.internal
Subject: Cron <root@domU-12-31-38-00-AC-02> usr/bin/python /home/ec2-user/cronscripts/testscript.py
Content-Type: text/plain; charset=UTF-8
Auto-Submitted: auto-generated
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>
/bin/sh: usr/bin/python: No such file or directory
这是我在根邮件中找到的最后一个条目。它似乎无法找到python,即使它正好位于该位置。当我打印crontab -l时,usr / bin / python确实有一个斜杠。我是否需要在某处更改cron路径?
解决方法
对crontab中的所有命令使用完全限定的路径。
0 */2 * * * /full/path/to/python /home/ec2-user/cronscripts/testscript.py
此外,所有字段均为*?您预计什么时候运行?上面的示例每隔hr运行一次。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。