OVH - 执行 cron

Posted

技术标签:

【中文标题】OVH - 执行 cron【英文标题】:OVH - Executing 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。没有更多的成功。 【参考方案1】:

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

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

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

【讨论】:

【参考方案2】:

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

【讨论】:

感谢您提供此信息。所以唯一的方法仍然是一个 php 文件...

以上是关于OVH - 执行 cron的主要内容,如果未能解决你的问题,请参考以下文章

是否可以从 ovh 共享主机执行 ssh?

BadParametersError:使用 OVH Python 包装器时签名无效

cron 作业会杀死最后一个 cron 执行吗?

Cron表达式范例:每隔5秒执行一次:*/5 * * * * ?

linux使用cron怎么设置定时任务

linux 下cron定时任务为啥没执行