我試圖根據它是什麼日期運行不同的腳本,但我不是100%確定如何去做,基本上我想要做的是: cron腳本每天運行並調用服務器上的PHP文件,在PHP文件,我需要把這樣的:everyday.php每天根據日期調用不同的腳本
運行everymonday.php每星期一
運行firstmondayofthemonth
運行。 php每個月的第一個星期一
所以我需要檢查日期是否與3中的每一個相同,然後運行該腳本,但我不知道在php中哪個命令最適合這個?
我試圖根據它是什麼日期運行不同的腳本,但我不是100%確定如何去做,基本上我想要做的是: cron腳本每天運行並調用服務器上的PHP文件,在PHP文件,我需要把這樣的:everyday.php每天根據日期調用不同的腳本
運行everymonday.php每星期一
運行firstmondayofthemonth
運行。 php每個月的第一個星期一
所以我需要檢查日期是否與3中的每一個相同,然後運行該腳本,但我不知道在php中哪個命令最適合這個?
好吧,如果你有PHP來做到這一點(替代辦法是隻創建3個cronjobs和配置的cron),那麼這可能會給你一個想法:
$weekday = date('D');
$dayOfMonth = date('d');
run everyday.php;
if ($weekday == 'Mon')
{
run everymonday.php
if ($dayOfMonth <=7)
run firstmondayofthemonth.php;
}
您需要修改代碼當然,例如用適合您的環境的東西替換運行的東西。可能包括,執行或HTTP請求,...
我建議乾脆把這個到cron本身,因爲你可以指定在一週某些腳本運行,但如果你想這樣做在PHP然後用選項「d」來檢查什麼日子使用date function也許天它是並且有一個switch case語句。
例如:
0 0 * * 1 php runatmidnightonmonday.php
0 0 * * 6 php runatmidnightonsaturday.php
0 0 * * 0 php runatmidnightonsunday.php
不同的人希望在不同的時間收到價格,所以每個PHP文件只運行在他們的個人資料中打勾選項的客戶端,這就是爲什麼即時通訊用php而不是cron。 – 2012-01-08 20:49:10
如何在每個星期一的時候將另一個腳本放在哪裏運行?您是否僅回顯腳本的url /名稱? – 2012-01-08 20:56:45
取決於:您是否知道腳本的內容(或者您是否至少可以做出一些假設?),是本地服務器上的目標腳本,並且您是否有權直接訪問該文件並且限制您的環境(你可以調用exec(),你是否在安全模式下運行,...)。我建議你讓這個問題成爲一個單獨的問題。 – yankee 2012-01-08 21:12:23
@IainSimpson:請注意,我將dayOfMonth <= 6更改爲dayOfMonth <= 7。在想了一會之後,剛剛發生在我身上。 – yankee 2012-01-08 21:56:37