CakePHP1.3中的Cronjob

CakePHP1.3中的Cronjob,cakephp,cron,Cakephp,Cron,我需要在我的一个旧网站(CakePHP 1.3)中进行cron作业。 我采取了以下步骤: 在/somepath/public_html/app/vendors/shell/valute.php中创建shell class ValuteShell extends Shell { var $uses = array('Valute'); function main() { $this->Valute->cacheGetKonverterData();

我需要在我的一个旧网站(CakePHP 1.3)中进行cron作业。 我采取了以下步骤:

  • /somepath/public_html/app/vendors/shell/valute.php中创建shell

    class ValuteShell extends Shell {
        var $uses = array('Valute');
        function main() {
            $this->Valute->cacheGetKonverterData();
        }
    }
    
  • 创建BASH脚本并将其保存到我的供应商文件夹中,作为
    cakeshell
    (/somepath/public\u html/app/vendors/cakeshell)

  • 将此文件上的权限更改为777

  • 像这样称呼cronjob:

    0  0   *   *   *   /somepath/public_html/app/vendors/cakeshell valute -cli /usr/bin -console /somepath/public_html/cake/console -app /somepath/public_html/app
    
  • 不幸的是,这个工作不起作用。为什么? 当我打电话时: 一切正常

    <?php
    class ValutesController extends AppController {
        var $name = 'Valutes';
        var $uses = array('Valute'); 
    
        function save_valutes()
        {
            $this->layout = null; // turn off the layout    
            $this->Valute->cacheGetKonverterData();
        }   
    }
    ?>
    

    cakeshell
    cmd
    应具有蛋糕芯的
    Cake
    文件的路径

    cmd="/somepath/public_html/lib/Cake/Console/cake"
    
    crontab

    0 0 * * * /somepath/public_html/app/vendors/cakeshell valute -app /somepath/public_html/app >> var/log/crontab
    

    谢谢你的回复,但不幸的是这不起作用。我没有注意到错误。我用另一种方法解决了这个问题:curl-sfo/dev/null www.somedomain.com/controller/action/secret\u code。这是一种即兴创作,但它可以工作。可能的重复(虽然这个问题使用自定义bash脚本-正确的解决方案是只调用Console/cake)。
    0 0 * * * /somepath/public_html/app/vendors/cakeshell valute -app /somepath/public_html/app >> var/log/crontab