Cron 作业:[Errno 2] 没有这样的文件或目录

Cron 作业:[Errno 2] 没有这样的文件或目录

在 Mediatemple 网格服务器上,我尝试通过控制面板中设置的 cron 来运行它:

usr/bin/python /home/xxxxx/html/sitemap_gen.py --config=/home/xxxxx/html/config.xml

但是我收到错误“python:无法打开文件‘/home/95809/html/sitemap_gen.py’:[Errno 2] 没有此文件或目录。”但文件在那里。MT 需要路径,没有路径的错误也没什么区别。

我可以从 ssh 手动运行它:

python sitemap_gen.py --config=config.xml

并已对脚本进行 chmode 处理以供执行。

有没有其他可行的方法来运行该脚本?

MT 没有由 cron 运行的 python 脚本的直接示例,也不提供支持。

有没有办法将脚本包装在另一个脚本中 - 比如 bash 脚本 - 以避免必须包含路径或调用 python,我认为这可能是问题所在?

答案1

我建议两件事:

  1. 如果您有权限,请尝试在命令行上手动运行该命令
  2. 验证您的用户是否对文件具有执行权限/home/xxxxx/html/sitemap_gen.py

编辑:哦,呃...尝试使用 python 的完整路径,因此如果 python 可执行文件在其中,/usr/bin则会是:/usr/bin/python /home/xxx/html/sitemap_gen.py <blah blah blah>

答案2

创建一个虚拟脚本(仅打印一些内容)并通过 crond 运行它。也许 crond 甚至没有读取该文件所需的权限。

可能你的用户有权限所以可以执行它,但 crond 没有

相关内容