2011-10-05 90 views
1

我正在爲我的symfony應用程序創建一個自動化過程,該應用程序被編寫爲symfony中的一個插件。在此插件中,我需要添加一個cron job.now即時添加它手動。我可以打開從symfony的cron選項卡,並寫一些東西到cron選項卡???如果是這樣的話 我只需運行一個任務並從cli添加cron作業。 任何建議,以完成此任務。我如何使用symfony任務編寫cron作業

回答

0

我假設你知道如何從命令行執行它。從Symfony任務中,使用PHP標準中的函數passthru()調用系統命令。

PHP中的以下2個函數可能會有所幫助。

function mysystem($cmd) 
{ 
    passthru($cmd, $val); 
    if ($val != 0) 
    { 
    mydie("Command $cmd exited with nonzero exit status $val\n"); 
    } 
} 

// PHP's die() exits with a happy status, which is useless in scripts 
function mydie($s) 
{ 
    fwrite(STDERR, $s); 
    exit(1); 
} 

從腳本你會做類似於以下內容。

  • crontab -l | grep的-v 「要添加的任務」> oldcrontab#刪除 任何複製作業
  • 回聲>> oldcrontab#添加新的工作
  • 的crontab oldcrontab#重載的crontab 「您要添加計劃任務」

只是使用相同的策略,但從PHP使用上述功能。這應該工作。