需要通过cPanel使用cron作业运行Python脚本

1 投票
1 回答
3950 浏览
提问于 2025-04-17 02:24

我需要紧急帮助。我正在尝试通过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

到目前为止,我做了以下几件事:

  1. 我把cron_job_wod.py放在了public_html/xml_feed/cron_job_wod.py目录下,并且设置了所有权限为777
  2. 我在脚本的顶部添加了#!/usr/bin/python
  3. 我添加了一个叫cgi-scriptappache 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这个工具,这里有一些替代方法,也能达到同样的效果。

撰写回答