我在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
我已经使用“哪个”确认了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