我在CentOS VPS中设置了以下crontab:
SHELL=/bin/bash
HOME=/
* * * * * /root/ebay/findcheapitems.py
Run Code Online (Sandbox Code Playgroud)
该脚本可以使用以下命令手动正常运行:
python2.7 ebay/findcheapitems.py
Run Code Online (Sandbox Code Playgroud)
它已通过dos2unix运行以进行EOL转换,具有-rwxr-xr-x权限,并且文件的第一行具有:
#!/usr/local/bin python2.7
Run Code Online (Sandbox Code Playgroud)
但是,每次cron作业尝试运行时,我都会收到邮件,说:
/bin/bash: /root/ebay/findcheapitems.py: /usr/local/bin: bad interpreter: Permission denied
Run Code Online (Sandbox Code Playgroud)
我已经使用“哪个”确认了python2.7的位置:
# which python2.7
/usr/local/bin/python2.7
Run Code Online (Sandbox Code Playgroud)
我是一名Linux初学者,所以我确定我缺少一些简单的东西!
您需要将文件路径指定为一个路径,而不是目录和文件名:
#!/usr/local/bin/python2.7
Run Code Online (Sandbox Code Playgroud)
否则,目录路径将被视为可执行文件。
更新正如Kevin Guan所建议的,您也可以使用/usr/bin/env而不是指定可执行文件的完整路径。
#!/usr/bin/env python2.7
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3513 次 |
| 最近记录: |