【问题标题】:Execute Symfony Command as a cron on mutualised server OVH在共享服务器 OVH 上以 cron 的形式执行 Symfony 命令
【发布时间】:2017-06-17 18:43:24
【问题描述】:

我想在 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

在我的例子中,你的:commandName = app:verify-campaign

【问题讨论】:

  • chmod +x /homez.76/siteNamesrd/./www/cron/verifyCampaign.sh
  • 我必须把这一行放在 sh 文件中吗?还是直接从 fileZilla 执行?
  • 在命令行中,它只是一个命令,但观察结果是否有任何错误。
  • 对我来说,执行命令的唯一方法是通过 fillezilla,因为它不是专用服务器。当我尝试这个时,我得到了550 Could not change perms on /homez.76/siteNamesrd/./www/cron/verifyCampaign.sh: No such file or directory
  • 所以在 filezilla 中找到你的文件verifyCampaign.sh 并更改执行文件的权限(通过右键单击)。

标签: php symfony cron ovh


【解决方案1】:

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

chmod ugo+x verifyCampaign.sh

一定会解决的。

【讨论】:

  • 好的,我会这样尝试。脚本将在 40 分钟内执行完毕,我会在之后留下反馈
  • 完全相同的错误? verifyCampaign.sh 脚本的权限是什么?还有谁是脚本的所有者?
  • 是的,完全一样的错误。我正在尝试 777 权限。如何确定脚本的所有者?
  • 好的,现在它在 777 中工作,但我有一个新错误,检查我的编辑
  • 错误告诉你,当它试图 cd /home/siteName/www/ 时,它找不到那个目录。由于找不到该目录,因此无法运行控制台脚本。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-04-19
  • 2018-02-08
  • 1970-01-01
  • 2017-11-12
  • 1970-01-01
  • 2021-07-04
  • 2021-07-21
相关资源
最近更新 更多