我是Unix和crontab的新手.我遇到的唯一主要问题是将终端指向我正在尝试运行的特定程序的python模块.从命令行,程序运行正常,但不会从crontab.
第一个cronjob给我发了一封电子邮件说cronjob正在运行.第二个(createUpdate)运行我已经构建的脚本,设置为每分钟运行一次.
crontab -l返回:
*/1 * * * * python /Users/JohnDoe/Desktop/emailalert.py
*/1 * * * * PYTHONPATH =/Library/Frameworks/Python.framework/Versions/Current/lib/python2.7/site-packages; export PYTHONPATH; python /Users/JohnDoe/Desktop/createUpdate.py
Run Code Online (Sandbox Code Playgroud)
我正确构建了PYTHONPATH吗?
我应该在cron之前解决它吗?
'出口PYTHONPATH'是必要的吗?
编辑 我忘了添加错误
/bin/sh: PYTHONPATH: command not found
Traceback (most recent call last):
File "/Users/JohnDoe/Desktop/createUpdate.py", line 1, in <module>
import beatbox
ImportError: No module named beatbox
Run Code Online (Sandbox Code Playgroud)
小智 11
正确的方法是
*/1 * * * * PYTHONPATH=/Library/Frameworks/Python.framework/Versions/Current/lib/python2.7/site-packages python /Users/JohnDoe/Desktop/createUpdate.py
Run Code Online (Sandbox Code Playgroud)
请注意变量赋值中的空格.没有分号,也不需要导出变量,因为在命令之前声明它们已使它们对命令本身有效.