cron.sh不为Magento cron工作

时间:2014-03-20 01:39:14

标签: shell magento cron

我一直遇到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

有谁知道这是否有效并且有任何缺点/后果吗?

1 个答案:

答案 0 :(得分:2)

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

然而,这与更大的问题正交。 Magento托管比普通的PHP代码库更挑剔,这可能只是您与主机的问题的开始。我强烈建议考虑一个非常熟悉Magentos需求的主机。如果评论出大量的Magento核心代码成为常态 - 你 会遇到更多问题。