Python脚本无法从cron运行

4 投票
2 回答
2955 浏览
提问于 2025-04-16 19:04

我有一个名为 "start.py" 的 Python 脚本,它在命令行中运行得很好。里面只有一句话(打印 "hello")。编辑:start.py 的第一行还有一个有效的解释器指令。

但是,每次我通过定时任务(cron job)运行这个脚本时,系统日志(syslog)里都会出现一条消息:

Jun  7 02:57:01 mit CRON[23275]: Module is unknown

我已经尝试在定时任务文件中添加了 PATH 和 PYTHONPATH 的信息:

$ cat /etc/cron.d/my_cron
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PYTHONPATH=/usr/lib/python2.6:/usr/lib/python2.6/plat-linux2:/usr/lib/python2.6/lib-tk:/usr/lib/python2.6/lib-old:/usr/lib/python2.6/lib-dynload:/usr/lib/python2.6/dist-packages:/usr/lib/pymodules/python2.6:/usr/lib/pymodules/python2.6/gtk-2.0:/usr/local/lib/python2.6/dist-packages
* * * * * mit /home/mit/dev/start.py

我找到了一些看起来相似的答案和解决方案,但都没有帮助我。我到底漏掉了什么呢?

2 个回答

0

你忘了在前面加上“python”了。

* * * * * mit /usr/bin/python /home/mit/dev/start.py
3

最近PAM的更新导致cron出现了问题。你可以试着重启你的电脑(或者用 sudo /etc/init.d/cron restart 命令重启cron)。

撰写回答