2011-06-15 96 views
3

我知道有很多關於這方面的問題,但我一直在嘗試一段時間沒有運氣的事情。我有一個簡單的python testscript,創建一個帶有時間戳名稱的文件夾。當我手動運行它時它工作正常,但是當我嘗試將它放入crontab時沒有任何反應。任何想法,我在這裏搞亂了嗎?這裏的腳本:(位於在/ home/EC2用戶/ cronscripts)Cron腳本沒有運行,儘管手動運行時工作

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 

我試圖把 '根' 到命令,以及,但沒有骰子。我也嘗試了一些在顯式設置腳本文件中的PATH變量時弄得亂七八糟。

From [email protected] Wed Jun 15 19:57:01 2011 
Return-Path: <[email protected]> 
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 <[email protected]>; Wed, 15 Jun 2011 19:57:01 GMT 
Received: (from [email protected]) 
     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: <[email protected]ernal> 
From: [email protected] (Cron Daemon) 
To: [email protected] 
Subject: Cron <[email protected]> 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

查看系統日誌以查看錯誤 – hvgotcodes 2011-06-15 19:21:34

+0

Jun 15 18:02:01 domU-12-31-38-00-AC-02 CROND [5310] :(根)CMD(/ home/ec2-user/cronscripts/testscript.py) Jun 15 18:03:01 domU-12-31-38-00-AC-02 CROND [5317] :(根)CMD(/home/ec2-user/cronscripts/testscript.py ) – cfrederich 2011-06-15 19:31:02

+0

我在cron日誌中發現了這個,所以它明確地嘗試做一些事情 – cfrederich 2011-06-15 19:31:20

回答

6

對crontab中的所有命令使用全限定路徑。

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

此外,所有字段都是*?你預計什麼時候運行?上面的例子會運行每隔一小時。

+1

'上面的例子每運行一小時都會運行。它會每分鐘運行一次。您需要爲分鐘字段添加一些具體的值。在任何crontab字段中寫'*/1'與編寫'*' – leonbloy 2011-06-15 19:24:51

+0

是一樣的,我只是想讓它每分鐘運行一次,以便我可以看到它是否工作完全不需要等待 – cfrederich 2011-06-15 19:27:03

+0

@leonbloy,謝謝。更新。 – 2011-06-15 19:29:18

相關問題