【问题标题】:cron.sh not working for Magento cron jobcron.sh 不适用于 Magento cron 作业
【发布时间】:2014-04-26 15:17:51
【问题描述】:

我一直遇到 Magento 和 cron 作业无法运行的问题。我的托管公司似乎不允许使用 cron.sh 的某些参数(ps 是其中之一),因此 shell 脚本在 cron 作业运行之前失败。由于我在 cpanel 中的 cron 声明了完整路径,我想知道是否可以从 cron.sh 中删除某些行,例如。

#!/bin/sh
# location of the php binary
if [ ! "$1" = "" ] ; then
    CRONSCRIPT=$1
else
    CRONSCRIPT=cron.php
fi

MODE=""
if [ ! "$2" = "" ] ; then
MODE=" $2"
fi

PHP_BIN=`which php`

# absolute path to magento installation
INSTALLDIR=`echo $0 | sed 's/cron\.sh//g'`

#   prepend the intallation path if not given an absolute path
#    if [ "$INSTALLDIR" != "" -a "`expr index $CRONSCRIPT /`" != "1" ];then
#    if ! ps auxwww | grep "$INSTALLDIR$CRONSCRIPT$MODE" | grep -v grep 1>/dev/null 2>/dev/null ; then
#       $PHP_BIN $INSTALLDIR$CRONSCRIPT$MODE &
#    fi
#else
#    if  ! ps auxwww | grep "$CRONSCRIPT$MODE" | grep -v grep | grep -v cron.sh 1>/dev/null 2>/dev/null ; then
    $PHP_BIN $CRONSCRIPT$MODE &
#    fi
#fi

有谁知道这是否可行,是否有任何缺点/后果?

【问题讨论】:

    标签: shell magento cron


    【解决方案1】:

    在没有特别了解此功能的情况下 - 看起来它可能试图避免在 cron 脚本已经运行时再次运行它。或许锁文件也可以做到这一点——但这是 Magento 的一个领域,如果没有大量研究,我不会乱搞。

    然而,这与一个更大的问题是正交的。 Magento 在托管方面比一般的 PHP 代码库更挑剔,这可能只是您的主机遇到的问题的开始。我强烈建议考虑使用非常熟悉 Magento 需求的主机。如果注释掉 Magento 核心代码块成为常态 - 您遇到更多问题。

    【讨论】:

      猜你喜欢
      • 2013-02-06
      • 2016-07-22
      • 2015-10-29
      • 2017-11-12
      • 2012-04-28
      • 2016-12-19
      • 2014-12-15
      • 2011-03-08
      • 2011-08-18
      相关资源
      最近更新 更多