尽管在手动运行时工作,Cron脚本仍未运行

时间:2011-06-15 19:16:50

标签: python linux 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路径?

1 个答案:

答案 0 :(得分:6)

对crontab中的所有命令使用完全限定路径。

0 */2 * * * /full/path/to/python /home/ec2-user/cronscripts/testscript.py

此外,所有字段都是*?你什么时候期望这个运行?以上示例将每隔一小时运行一次。