亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

linux實現(xiàn)php定時執(zhí)行cron任務(wù)詳解

 更新時間:2013年12月24日 16:42:22   作者:  
linux實現(xiàn)php定時執(zhí)行cron任務(wù)

對于PHP本身并沒有一套解決方案來執(zhí)行定時任務(wù),不過是借助sleep函數(shù)完成的。這種方就是要提前做一些配置,如實現(xiàn)過程:

復(fù)制代碼 代碼如下:

ignore_user_abort();//關(guān)掉瀏覽器,PHP腳本也可以繼續(xù)執(zhí)行.
    set_time_limit(0);// 通過set_time_limit(0)可以讓程序無限制的執(zhí)行下去
    $interval=60*30;// 每隔半小時運行
    do{
        //這里是你要執(zhí)行的代碼  
        sleep($interval);// 等待5分鐘
    }while(true);

不過關(guān)于這種方式我有一些擔(dān)心性能方面的問題,不過也是個臨時的方法。

本人推薦的方式采用腳本來實現(xiàn),利用OS本身的定時任務(wù)機(jī)制,windows上場利用bat腳本。不過本人沒有在window上嘗試過。那我就講講在linux中的實現(xiàn)。

如果你的web server是基于linux的,那么可以采用linux下的cron job 來完成。以RedHat5 為例,我們只需要預(yù)先要定時執(zhí)行的邏輯代碼。例如demo.php

復(fù)制代碼 代碼如下:

<?php
echo "Hello";
?>

然后是吧php用shell腳本一封裝,在shell腳本中調(diào)用demo.php,demo.sh代碼如下:

復(fù)制代碼 代碼如下:

#!/bin/bash
#if you php install to /usr/local/php/
/usr/local/php/bin/php /home/xx-user/demo.php

完成shell腳本的編寫之后,確保它有足夠的這行權(quán)限,例如:/bin/chmod u+x demo.sh.

然后配置linux上的cronjob,cronjob是linux上默認(rèn)安裝的。如果你的任務(wù)是需要按小時、天、周、月來執(zhí)行的話,那么你直接可以將你的demo.sh腳本拷貝到

/etc/cron.hourly 、/etc/cron.daily 、/etc/cron.weekly、/etc/cron.monthly 就ok了,這樣就可以完成你的任務(wù)了 。如果到某個時間點想移除定時任務(wù),那就從上面這些folder中move到其它地方或者直接刪除掉就ok了。

如果你的腳本有特殊的執(zhí)行時間,例如每個星期的周二,或者是每個月的15號執(zhí)行。那么你就需要配置屬于你自己的cron job.

關(guān)于cron的特殊的配置請參考:http://www.pantz.org/software/cron/croninfo.html

這里我就按照每天的上午12點到下午的14點鐘之間每2分鐘運行一次這個腳本,那么配置如下(例如demo.sh是位于/tmp 目錄下):

首先在linux的命令行中執(zhí)行crontab -e ,然后把規(guī)則輸入到里面:

復(fù)制代碼 代碼如下:

*/2 12-14 * * *  /tmp/demo.sh

帶輸入完成之后按鍵盤上的“Esc”鍵,然后輸入:wq,編輯頁面就退出了。然后你可以用crontab -l 來查看你剛編輯的cron job.

到此時特殊的cron 也就完成了。例如你剛才是用linux下的demo賬戶來完成上面的步驟,那么還有一個簡單的方法就是直接可以編輯/var/spool/cron/demo 這個文件,可以直接

修改你的cron job.  例如 :vi /var/spool/cron/demo

利用OS的方式來管理你的定時任務(wù)是很快捷的,而且不用你擔(dān)心性能的問題,除非你的腳本本身存在一些問題。這樣的方式易于維護(hù),可以修改定時執(zhí)行的計劃,也可以輕松的移除和新增其它的定時任務(wù)。

相關(guān)文章

  • ThinkPHP使用Smarty第三方插件方法小結(jié)

    ThinkPHP使用Smarty第三方插件方法小結(jié)

    這篇文章主要介紹了ThinkPHP使用Smarty第三方插件方法,結(jié)合實例形式總結(jié)分析了ThinkPHP使用Smarty模板的具體步驟與相關(guān)注意事項,需要的朋友可以參考下
    2016-03-03
  • php實現(xiàn)生成驗證碼實例分享

    php實現(xiàn)生成驗證碼實例分享

    由于注冊的時候常常會用到注冊碼來防止機(jī)器惡意注冊,這里我發(fā)表一個產(chǎn)生圖片驗證碼的基本圖像,很簡陋,有需要的小伙伴可以參考下
    2016-04-04
  • php獲取遠(yuǎn)程圖片體積大小的實例

    php獲取遠(yuǎn)程圖片體積大小的實例

    有時候,我們需要知道遠(yuǎn)程圖片的體積大小,那么PHP如何可以做到呢?
    2013-11-11
  • Laravel學(xué)習(xí)教程之model validation的使用示例

    Laravel學(xué)習(xí)教程之model validation的使用示例

    這篇文章主要給大家介紹了關(guān)于Laravel學(xué)習(xí)教程之model validation使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-10-10
  • php 偽靜態(tài)之IIS篇

    php 偽靜態(tài)之IIS篇

    上篇文章我們講解了APACHE服務(wù)器下偽靜態(tài)的實現(xiàn),不過在國內(nèi)還是IIS的服務(wù)器要多些,特別是個人站長,那么,我們再來學(xué)習(xí)下IIS下php偽靜態(tài)的實現(xiàn)過程吧
    2014-06-06
  • 關(guān)于Laravel參數(shù)驗證的一些疑與惑

    關(guān)于Laravel參數(shù)驗證的一些疑與惑

    這篇文章主要給大家介紹了關(guān)于Laravel參數(shù)驗證的一些疑與惑,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Laravel具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • PHP 圖片文件上傳實現(xiàn)代碼

    PHP 圖片文件上傳實現(xiàn)代碼

    通過 PHP,可以把文件上傳到服務(wù)器。里面加入一些圖片的判斷,如果不加判斷文件的類型就可以上傳任意格式的文件。
    2010-12-12
  • 修改ThinkPHP緩存為Memcache的方法

    修改ThinkPHP緩存為Memcache的方法

    這篇文章主要介紹了修改ThinkPHP緩存為Memcache的方法,需要的朋友可以參考下
    2014-06-06
  • PHP register_shutdown_function()函數(shù)的使用示例

    PHP register_shutdown_function()函數(shù)的使用示例

    這篇文章主要介紹了PHP register_shutdown_function()函數(shù)的使用示例,當(dāng)我們的腳本執(zhí)行完成或者意外死掉導(dǎo)致 php 執(zhí)行即將關(guān)閉時,register_shutdown_function()這個函數(shù)會被調(diào)用,需要的朋友可以參考下
    2015-06-06
  • PHP表單驗證內(nèi)容是否為空的實現(xiàn)代碼

    PHP表單驗證內(nèi)容是否為空的實現(xiàn)代碼

    下面小編就為大家?guī)硪黄狿HP表單驗證內(nèi)容是否為空的實現(xiàn)代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11

最新評論