在cron中执行cake shell的麻烦

时间:2013-04-29 12:37:04

标签: shell cakephp cron cakephp-2.0

我正在使用cakephp 2.x并希望在cron中执行shell。

我将shell作为后台进程运行的目的是生成一个包含大量数据的XML文件。

我已将PATH变量设置为.bashrc文件中的path / to / app / Console。我还在/ app / Console / cakeshell中创建了cakehell文件,并使其可执行,如cakephp 2.x文档中所述。我也在/app/Console/Command/myjobShell.php中创建了我的shell。

以下是蛋糕的代码:

#!/bin/bash
TERM=dumb
export TERM
cmd="cake"
while [ $# -ne 0 ]; do
    if [ "$1" = "-cli" ] || [ "$1" = "-console" ]; then
        PATH=$PATH:$2
        shift
    else
        cmd="${cmd} $1"
    fi
    shift
done
$cmd

注意:我已将cmd='cake'更改为完整路径cmd='/path/to/app/Console/cake'

我在下面给出的cron语法:

* * * * * /path/to/cakeshell myjob -cli /usr/bin -console /path/to/app/Console

我已在服务器中检查过cron恶魔正常工作。但似乎蛋糕壳不起作用。

此外,如果任何人有任何参考直接通过cron运行/ controller / action而不使用shell也可以是一个解决方案。但我不知道它是否可行。

0 个答案:

没有答案