需要通过cPanel使用cron作业运行Python脚本
我需要紧急帮助。我正在尝试通过cPanel上的定时任务(cron job)运行一个Python脚本。我的网络服务器使用的是cPanel Version 11.30.3 (build 5)
。定时任务设置成功了,它能执行文件,但因为以下错误,文件没有成功运行,我在邮件中收到了这个错误:
/bin/sh: /home/someuser/public_html/xml_feed/cron_job_wod.py: /usr/bin/python
: bad interpreter: No such file or directory
到目前为止,我做了以下几件事:
- 我把
cron_job_wod.py
放在了public_html/xml_feed/cron_job_wod.py
目录下,并且设置了所有权限为777 - 我在脚本的顶部添加了
#!/usr/bin/python
- 我添加了一个叫
cgi-script
的appache handler
,支持的扩展名有.cgi .py .pl
...但是脚本还是不工作。我该如何找到Python解释器的正确路径?或者这个问题的解决方案是什么?请帮帮我!
1 个回答
3
注意,在错误信息中,/usr/bin/python
后面和:
前面都有一个换行符,这让信息更清晰。这意味着操作系统在找文件时,不是在/usr/bin/python
这个位置,而是在/usr/bin/python<newline>
这个位置。
很可能你是从Windows系统复制了这个python文件,而Windows的换行方式是/bin/sh
不太能处理的。
你可以通过以下命令来解决这个问题,把python脚本文件中的Windows风格的换行符转换成Unix风格。
dos2unix /home/someuser/public_html/xml_feed/cron_job_wod.py
如果你的系统上没有dos2unix
这个工具,这里有一些替代方法,也能达到同样的效果。