【问题标题】:OVH - Executing cronOVH - 执行 cron
【发布时间】:2021-07-04 17:27:00
【问题描述】:

我正在尝试在 OVH 网络主机上设置 cron。 要执行的脚本位于: /home/[登录ftp]/www/script.sh

所以我用这个设置在 OVH 界面上创建了一个 cron:

  • 要执行的命令:./www/script.sh
  • 语言:其他

脚本包含:

#!/bin/bash
echo "Hello World"

如果我在 ssh 控制台上执行脚本,一切都很好。

但是,使用 OVH cron,没办法:

[2021-04-05 21:36:02] ## OVH ## END - 2021-04-05 21:36:02.246979 exitcode: 255
[2021-04-05 22:05:00] ## OVH ## START - 2021-04-05 22:05:00.778348 executing: /homez.1003/[login ftp]/www/test.sh
[2021-04-05 22:05:00] Cannot execute command for user '[login ftp]': Exec Format Error (err: -1)
[2021-04-05 22:05:00]
[2021-04-05 22:05:00] ## OVH ## END - 2021-04-05 22:05:00.813826 exitcode: 255

最后,这是我的 .ovhconfig 文件:

app.engine=php
app.engine.version=7.4
http.firewall=none
environment=production
container.image=stable64

我尝试了很多配置都没有成功。

仅供参考,我在根文件夹(所以在 /home/[login ftp] 中)也有一个 .htaccess,它重定向到另一个路径。这会对 cron 执行产生任何影响吗?

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/path/to/
RewriteRule ^(.*)$ /path/to/$1 [L]

【问题讨论】:

  • 您是否使您的脚本可执行? chmod +x ~/www/test.sh ?您的脚本中有什么特殊字符吗?
  • 是的,脚本拥有正确的权限。当我在 SSL 控制台中启动脚本时,它没有特殊字符。
  • 您是否也可以从 shell 的“lllogin ftp”用户运行脚本?还是您使用 root 或 sudo 进行测试?
  • 我没有注意错误信息说无法为用户“登录ftp”执行命令。似乎您必须在执行命令之前定义用户。所以我试过 sudo [mylogin] echo "Hello World"。但它不起作用:无法为用户“[mylogin]”执行命令:执行格式错误(错误:-1)我也尝试过使用 UTF8、UTF8 格式的文件,而没有 BOM 和 ANSI。没有更多的成功。

标签: cron ovh


【解决方案1】:

似乎无法在 ovh/cron 上执行 sh 文件。我试过使用 php 文件,它就像一个魅力:

<?php
shell_exec('echo "Hello World"');
?>

我对此感到非常惊讶,因为网络上有许多示例将 sh 可执行文件显示为 cron。也许ovh最近改变了它的政策。

【讨论】:

    【解决方案2】:

    我今天得到了一个支持答复,“其他”cronjobs 不再工作,菜单条目很快就会消失。

    【讨论】:

    • 感谢您提供此信息。所以唯一的方法仍然是一个 php 文件...
    猜你喜欢
    • 1970-01-01
    • 2015-11-23
    • 1970-01-01
    • 1970-01-01
    • 2017-11-12
    • 2015-05-02
    • 2014-12-06
    • 2020-07-11
    • 1970-01-01
    相关资源
    最近更新 更多