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的主要内容,如果未能解决你的问题,请参考以下文章
BadParametersError:使用 OVH Python 包装器时签名无效