91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解析crontab php自動運行

發布時間:2021-10-08 14:25:51 來源:億速云 閱讀:137 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關如何解析crontab php自動運行,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

crontab是linux自帶的一個命令 
使php自動運行的方法
php自動運行有很多方法,這里分以下DZ以及一些通過系統完成的方法和直接觸發運行駐留系統的方法。
Discuz后臺有個計劃任務,可以使php自動運行。
DZ計劃任務的機制是這樣:
1.首先在到了觸發計劃任務的時間,有訪問(會員,游客,搜索引擎的蜘蛛)然后觸發該計劃任務發生。(因為PHP是觸發是語言,沒有人去訪問他,他什么也做不了。)
2. 計劃任務執行.
3. 執行成功,返回執行成功的信息,更新到數據庫中記錄當前執行的時間,下一次需要執行的時間。
目前讓php自動運行的的方法有以下幾種方法:
1:在windows下用計劃任務
  在linux下用crantab
缺點:必須具有服務器權限
2:用個某個網頁隔一段時間去刷新,比如用js或者php程序來實現。
缺點:必須用某個工具將該頁開著。
3:在有用戶訪問的時候觸發
缺點:必須在用戶訪問的頁面里包含觸發程序。
用crontab定時執行
是 UNIX的一個命令
crontab-操作每個用戶的守護程序和該執行的時間表。
具體的部分參數說明如下:
crontab file [-u user]-用指定的文件替代目前的crontab。
crontab-[-u user]-用標準輸入替代目前的crontab.
crontab-1[user]-列出用戶目前的crontab.
crontab-e[user]-編輯用戶目前的crontab.
crontab-d[user]-刪除用戶目前的crontab.
crontab-c dir- 指定crontab的目錄。
crontab文件的格式:M H D m d cmd.
M: 分鐘(0-59)。
H:小時(0-23)。
D:天(1-31)。
m: 月(1-12)。
d: 一星期內的天(0~6,0為星期天)。
cmd要運行的程序,程序被送入sh執行,這個shell只有USER,HOME,SHELL這三個環境變量。
下面是一個例子文件:

復制代碼 代碼如下:


#MIN HOUR DAY MONTH DAYOFWEEK COMMAND
#每天早上6點
106* * * date
#每兩個小時
0*/2* * * date
#晚上11點到早上8點之間每兩個小時,早上部點
0 23-7/2,8* * * date
#每個月的4號和每個禮拜的禮拜一到禮拜三的早上11點
0 11 4* mon-wed date
#1月份日早上4點
0 4 1 jan* date


范例

復制代碼 代碼如下:


lark:~>crontab-1 列出用戶目前的crontab.
#MIN HOUR DAY MONTH DAYOFWEEK COMMAND
10 6* * * date
0*/2* * * date
0 23-7/2,8 * * * date


在linux,有多種方式可以實現定時運行,使用最靈活的應該是crontab, 在使用crontab必須特別注意環境變量問題,在此以執行oracle的sqlplus為例, 說明crontab的使用方法。

1:crontab 使用方法: crontab [ -e | -l | -r ] 文件名 -e:編輯任務 -l:顯示任務信息 -r:刪除定時執行任務信息

2:crontab中處理的文件格式為 分鐘 小時 日期 月 星期 執行的文件名 *代表所有條件 5 * * * * rem /home/oracle/execsql 代表每個小時的5分鐘時執行/home/oracle/execsql文件

3:對于sql等需要在特定的環境變量下運行的命令,在執行文件中必須列出。 如在oracle下執行sqlplus,必須按以下格式編寫: $ cat execsql ORACLE_HOME=/ora815;export ORACLE_HOME ORACLE_OWNER=oracle;export ORACLE_OWNER ORACLE_SID=ora815;export ORACLE_SID ORACLE_BASE=/ora815/app/oralce;export ORACLE_BASE LD_LIBRARY_PATH=$ORACLE_HOME/lib;export LD_LIBRARY_PATH PATH=$PATH:$ORACLE_HOME/bin:$LD_LIBRARY_PATH;export PATH NLS_LANG=AMERICAN_AMERICA.ZHS16CGB231280;export NLS_LANG /ora815/bin/sqlplus test1/test1 @test1.ext (執行@test1.ext文件,數據庫的用戶名/密碼為test1/test1)

其中要求execsql為可執行的程序 $ ls -al execsql -rwxr-xr-x 1 oracle dba 374 Oct 07 15:17 execsql
使用crontab,使php程序在12:00運行
就按照下面的格式改一下,加在crontab就行了
00 0 * * * cd /你的程序路徑;php 你的程序名字.php
這個需要編譯的時候有cli或者cgi模式的php.
另外:
若無管理權限,只有虛擬空間
PHP里有個函數很有用。這是在最近的開發中才逐漸用到的。 int ignore_user_abort ( [bool setting] ) 這個函數的作用是指示服務器端在遠程客戶端關閉連接后是否繼續執行下面的腳本。 setting 參數是一個可選參數。如設置為True,則表示如果用戶停止腳本運行,仍然不影響腳本的運行(即:腳本將持續執行);如果設置為False,則表示當用戶停止運行腳本程序時,腳本程序將停止運行。 下面這個例子,在用戶關閉瀏覽器后,該腳本仍然后在服務器上繼續執行:

復制代碼 代碼如下:


 ignore_user_abort(); // 后臺運行
 set_time_limit(0); // 取消腳本運行時間的超時上限
 do{
 sleep(60); // 休眠1分鐘
 }while(true);

 除非在服務器上關閉這個程序,否則這斷代碼將永遠執行下去。

關于“如何解析crontab php自動運行”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

皋兰县| 阳西县| 介休市| 阿拉善左旗| 宁津县| 卓资县| 道孚县| 普陀区| 屯昌县| 衡南县| 车致| 鄄城县| 三台县| 繁峙县| 花垣县| 青铜峡市| 乳山市| 北碚区| 鲜城| 富锦市| 鱼台县| 正阳县| 攀枝花市| 乌兰县| 白水县| 平泉县| 云林县| 通道| 九龙坡区| 永顺县| 吴江市| 平利县| 社旗县| 社会| 南乐县| 阿拉善右旗| 西青区| 东平县| 华阴市| 阿合奇县| 驻马店市|