我在CentOS VPS中设置了以下crontab:
SHELL=/bin/bash HOME=/ * * * * * /root/ebay/findcheapitems.py
脚本运行良好手动使用:
python2.7 ebay/findcheapitems.py
它已经通过dos2unix进行EOL转换,具有-rwxr-xr-x权限,并且该文件的第一行有:
#!/usr/local/bin python2.7
但是,每当cron作业尝试运行时,我都会收到邮件,他说:
/bin/bash: /root/ebay/findcheapitems.py: /usr/local/bin: bad interpreter: Permission denied
我已经使用'which'确认了python2.7的位置:
# which python2.7 /usr/local/bin/python2.7
我是一个Linux初学者,所以我敢肯定我错过了一些简单的东西!
您需要将文件路径指定为一个路径,而不是目录和文件名:
#!/usr/local/bin/python2.7
否则,目录路径被视为可执行文件。
更新 Kevin Guan建议,也可以使用/usr/bin/env
而不是指定可执行文件的完整路径。
#!/usr/bin/env python2.7
使用
#!/usr/local/bin/python2.7
而不是#!/usr/local/bin python2.7