Python脚本不在crontab中执行

所以我试图让我的服务器每小时执行一次Python脚本。

当我进入目录并使用python twitter.py运行它时,它工作正常。

但是,我在crontab中有这个条目,它不起作用:

0 * * * * /run/twitterparse/twitter.py > /run/twitterparse 

我试图每小时执行一次。

以下是syslog的输出:

 Aug 5 13:00:01 localhost CRON[11474]: (root) CMD (/run/twitterparse/twitter.py >/run/twitterparse/) Aug 5 13:00:01 localhost CRON[11473]: (CRON) info (No MTA installed, discarding output) 

现在应该做的是访问一个数据库并将信息从networking保存到该数据库。 这个脚本在手动运行时没有问题,但不能自动运行。

我通过这样做解决了我的问题

 0 * * * * python /run/twitterparse/twitter.py > /run/twitterparse 

和py文件应该是可执行的

 chmod +x twitter.py 

您可能需要添加

 #!/usr/bin/python 

到主脚本的开头,与您的python解释器的位置。

并将脚本的权限更改为可执行文件

 chmod +x <main script name .py> 

希望这可以帮助

输出到终端(即stdio或stderr)的cron脚本的任何输出都被发送到该脚本所注册帐户的人员。

您可以从错误消息中看到它正在尝试发送此邮件,但是“没有安装MTA”,因此将丢弃所有诊断消息。

您的第一步是要解决与MTA的问题,以便您可以收到邮件或确保stdio和stderr写入日志文件。

我能看到的显而易见的问题是输出被导向到非文件。

 /run/twitterparse/twitter.py > /run/twitterparse 

不是/运行/ twitterparse文件夹? 我猜:

 /run/twitterparse/twitter.py > /run/twitterparse/ouput.txt 

将解决一半的问题..