在共享服务器 OVH 上以 cron 的形式执行 Symfony 命令

Execute Symfony Command as a cron on mutualised server OVH

我想在 OVH 共享服务器上执行 Symfony3 命令,但我仍然遇到错误。

我创建了一个 sh 脚本 "verifyCampaign.sh" 并输入 www/cron :

#!/bin/bash
cd /home/siteName/www/
/usr/local/php7.0/bin/php /home/siteName/www/bin/console app:verify-campaign

我知道 OVH 找到了我的脚本,因为我在 cron 日志中有以下信息:

[2017-06-17 04:38:01] ## OVH ## START - 2017-06-17 04:38:01.601227 executing: /homez.76/siteNamesrd/./www/cron/verifyCampaign.sh 
[2017-06-17 04:38:01] ## OVH ## ERROR command '/homez.76/siteNamesrd/./www/cron/verifyCampaign.sh' must be executable
[2017-06-17 04:38:01] 
[2017-06-17 04:38:01] ## OVH ## END - 2017-06-17 02:38:01.725728 exitcode: 255

但是为什么它告诉我这个错误?当我在控制台在线尝试我的命令时,它运行良好

编辑

在 chmod 777 中我有一个新错误:

[2017-06-20 14:53:01] ## OVH ## START - 2017-06-20 14:53:01.977160 executing: /homez.76/siteName/./www/cron/verifyCampaign.sh 
[2017-06-20 14:53:01] /homez.76/siteName/./www/cron/verifyCampaign.sh: line 2: cd: /home/siteName/www/: No such file or directory
[2017-06-20 14:53:01] Could not open input file: /home/siteName/www/bin/console
[2017-06-20 14:53:01] 
[2017-06-20 14:53:01] ## OVH ## END - 2017-06-20 12:53:02.165789 exitcode: 1

我现在要尝试不同的路径。所以问题似乎出在脚本的正确位置

编辑 - 改进答案

正如接受的答案中所说,问题是脚本文件的访问权限。

对于另一个问题,在 ovh 中访问文件夹的正确路径是:

/homez.id/SiteUserName/www/

在我的例子中 id = 76

所以如果你想执行 Symfony3 命令,你必须这样做:

#!/bin/bash
cd /homez.id/siteUserName/www/
/usr/local/php7.0/bin/php /homez.id/siteUserName/www/bin/console your:commandName

就我而言,your:commandName = app:verify-campaign

它告诉您脚本没有设置执行位以允许 运行 它的 cron 用户执行它。你需要使用 chmod 来做到这一点。这可能有点矫枉过正,但是:

chmod ugo+x verifyCampaign.sh

一定会处理的。