Cron没有运行我的Python语句

我在crontab中有以下条目:

* * * * * python -c "import datetime; datetime.datetime.now()" >> /home/myname/pythoncron1.log 

pythoncron1.log文件正在创build,但没有任何内容,文件修改date没有被更新,因为该文件被创build。 我期待在文件中看到一堆行,每一分钟就有一个cron作业正在运行。

为什么这可能不工作?

(你可能已经猜到了,我试图做一些比上面的例子更复杂的东西,但是我已经把问题缩小到python显然无法运行时,被cron调用)。

为了澄清,你的Python脚本中是否有打印语句?

交互式运行你不需要它们:

 Python 2.6.1 (r261:67515, Jul 7 2009, 23:51:51) [GCC 4.2.1 (Apple Inc. build 5646)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import datetime >>> datetime.datetime.now() datetime.datetime(2010, 2, 24, 19, 36, 21, 244853) 

在命令行上,您可以:

 example:~% python -c "import datetime; datetime.datetime.now()" example:~% python -c "import datetime; print datetime.datetime.now()" 2010-02-24 19:38:59.639324 example:~% 

你可能需要把整个pythonpath放在例如/ usr / bin / python中

如果事实上这不是Frenchie所说的,那么最有可能的就是看用户的邮件。 Cron从cron作业输出到该crontab的用户帐户。 这就是为什么你经常看到STDOUT和STDERRpipe道到/ dev / null,所以他们不会被邮寄的输出他们不关心。

您可以使用该邮件命令作为该用户来检查具有有用输出的邮件。 此外,/ var / log / cron文件可能包含有用的信息。

python -c "import datetime; datetime.datetime.now()"不输出任何内容,所以没有任何东西要输出到文件中。

确保你运行的命令实际上在命令行输出了一些东西。