2010-06-21 23 views
1

我正在爲Joomla編寫一個組件,並且有一項特定任務需要每隔一段時間更新一些統計數據。我想設置一個cron工作來做到這一點。唯一的問題是需要用戶去設置cron來運行php更新統計腳本。有沒有一種PHP或shell腳本可以在Web服務器上設置cron作業的方法?

在安裝組件的我怎麼能自動設置爲用戶cron作業?這可能嗎?

我已經看到了這個在爲Joomla的Akeeba備份親組件來實現,所以我希望我能做到同樣的事情。

感謝

回答

1

從理論上講,你可以創建crontab文件,並從PHP

<?php 
exec("crontab $path_to_cron_file"); 

在實踐中把它叫做它取決於服務器(如果你在共享主機上)允許你這樣做。

+0

謝謝,這是我後。我發現這也回答了在這裏: http://stackoverflow.com/questions/2037176/install-a-cron-job-with-a-php-script – Martin 2010-06-22 10:53:54

1

所有你需要做的就是寫一行crontab文件,一般存放在/var/spool/cron/crontabs/username。 cron守護進程會看到文件修改時間已經改變,當它醒來後做的檢查,自動重新加載它

0

另一種選擇(從服務器負載的角度不太理想,但用戶更方便),將創建一個每個訪問者訪問網站時運行的插件。它可以檢查進程是否已經在指定的時間運行,然後在需要運行時運行它。

iJoobi.com有他們在那裏建立了一個服務器來運行的後臺任務,那麼這將ping該網站上的特定網址揭開序幕過程中的另一個解決方案。 (http://www.ijoobi.com/Help/jNews/jNews-Cron-Task.html

+0

感謝唐,你的第一個選項將不會與網站是可行的高流量。 cron的好鏈接,真酷! – Martin 2010-06-24 16:05:59

相關問題