【发布时间】: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。没有更多的成功。