【问题标题】:How to configure cron jobs for cakephp site on an Amazon AWS (bitnami stack)?如何为 Amazon AWS(bitnami 堆栈)上的 cakephp 站点配置 cron 作业?
【发布时间】:2018-02-07 16:24:42
【问题描述】:

我想每分钟执行一个 shell 脚本。 我用了这个命令

* * * * * cd /opt/bitnami/apache2/htdocs/sitename/app && Console/cake Sendnotification

其中Sendnotification 是外壳名称,sitename 是站点文件夹名称。

请告诉我。自过去 10 小时以来,我一直在尝试解决此问题。

【问题讨论】:

  • 如果您能解释您遇到的实际问题,即作业是否运行,您是否收到任何错误等,您可能有更好的机会获得答案...
  • 感谢您的回复。不,我没有收到任何错误。我创建了一个 shell 和任务。当我通过 putty(SSH) 执行 shell 任务时,它可以工作,但是当我将 cron 设置为执行相同的外壳然后它不工作。这是我的代码: * * * * * cd /opt/bitnami/apache2/htdocs/sitename/app && Console/cake Sendnotification 与我之前在其他专用服务器中所做的相同,但不知道为什么它在 bitnami 中不起作用实例。

标签: cakephp amazon-web-services cron bitnami


【解决方案1】:

这是因为 PHP 安装在非标准路径中。您需要编辑 Console/cake bake shell 脚本以包含 PHP 可执行文件的路径。

由于您使用的是 Bitnami,您可以在 shell 脚本中添加以下行:

export PATH=/opt/bitnami/php/bin:$PATH

所以你的控制台/蛋糕文件应该是这样的:

#!/usr/bin/env bash
export PATH=/opt/bitnami/php/bin:$PATH

################################################################################
#
# Bake is a shell script for running CakePHP bake script
#
# CakePHP(tm) :  Rapid Development Framework (http://cakephp.org)
# Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)

...

(这在 CakePHP 2.x 上适用于我)

奖励:您可以编辑 cron 任务以将控制台输出记录到文件中以进行调试:

* * * * * cd /opt/bitnami/apache2/htdocs/sitename/app && Console/cake Sendnotification  > /opt/bitnami/apache2/htdocs/sitename/logs/Sendnotification_`date +\%Y\%m\%d`-cron.log 2>&1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多