摘要:本身是沒有定時(shí)功能的,也不能多線程。服務(wù)器上安裝了,就可以執(zhí)行文件,無論是否安裝了或這樣的服務(wù)器環(huán)境軟件。而中,使用命令行,用來定時(shí)任務(wù),又是絕佳的選擇,而且也是效率最高的選擇。首先,進(jìn)入命令行模式。
PHP本身是沒有定時(shí)功能的,PHP也不能多線程。PHP的定時(shí)任務(wù)功能必須通過和其他工具結(jié)合才能實(shí)現(xiàn),例如WordPress內(nèi)置了wp-cron的功能,很厲害。本文,我們就來深入的解析幾種常見的php定時(shí)任務(wù)的思路。
Linux服務(wù)器上使用CronTab定時(shí)執(zhí)行php
我們先從相對(duì)比較復(fù)雜的服務(wù)器執(zhí)行php談起。服務(wù)器上安裝了php,就可以執(zhí)行php文件,無論是否安裝了nginx或Apache這樣的服務(wù)器環(huán)境軟件。而Linux中,使用命令行,用CronTab來定時(shí)任務(wù),又是絕佳的選擇,而且也是效率最高的選擇。
首先,進(jìn)入命令行模式。作為服務(wù)器的linux一般都默認(rèn)進(jìn)入命令行模式的,當(dāng)然,我們管理服務(wù)器也一般通過putty等工具遠(yuǎn)程連接到服務(wù)器,為了方便,我們用root用戶登錄。在命令行中鍵入:
crontab -e
之后就會(huì)打開一個(gè)文件,并且是非編輯狀態(tài),則是vi的編輯界面,通過敲鍵盤上的i,進(jìn)入編輯模式,就可以編輯內(nèi)容。這個(gè)文件中的每一行就是一個(gè)定時(shí)任務(wù),我們新建一行,就是新建一條定時(shí)任務(wù)(當(dāng)然是指這一行內(nèi)按照一定的格式進(jìn)行書寫)。我們現(xiàn)在來舉個(gè)例子,增加一行,內(nèi)容如下:
00 lynx -dump https://www.yourdomain.com/sc...
這是什么意思呢?實(shí)際上上面這一行由兩部分組成,前面一部分是時(shí)間,后面一部分是操作內(nèi)容。例如上面這個(gè),
00
就是指當(dāng)當(dāng)前時(shí)間的分鐘數(shù)為00時(shí),執(zhí)行該定時(shí)任務(wù)。時(shí)間部分由5個(gè)時(shí)間參數(shù)組成,分別是:
分 時(shí) 日 月 周
第1列表示分鐘1~59 每分鐘用或者 /1表示,/n表示每n分鐘,例如/8就是每8分鐘的意思,下面也是類推
第2列表示小時(shí)1~23(0表示0點(diǎn))
第3列表示日期1~31
第4列表示月份1~12
第5列標(biāo)識(shí)號(hào)星期0~6(0表示星期天)
整個(gè)句子的后面部分就是操作的具體內(nèi)容。
lynx -dump https://www.yourdomain.com/sc...
意思就是說通過lynx訪問這個(gè)url。我們?cè)谑褂弥兄饕玫絣ynx、curl、wget來實(shí)現(xiàn)對(duì)url的遠(yuǎn)程訪問,而如果要提高效率,直接用php去執(zhí)行本地php文件是最佳選擇,例如:
00 /2 /usr/local/bin/php /home/www/script.php
這條語句就可以在每2小時(shí)的0分鐘,通過linux內(nèi)部php環(huán)境執(zhí)行script.php,注意,這里可不是通過url訪問,通過服務(wù)器環(huán)境來執(zhí)行哦,而是直接執(zhí)行,因?yàn)槔@過了服務(wù)器環(huán)境,所以效率當(dāng)然要高很多。
好了,已經(jīng)添加了幾條需要的定時(shí)任務(wù)了吧。點(diǎn)擊鍵盤上的Esc鍵,輸入“:wq”回車,這樣就保存了設(shè)置的定時(shí)任務(wù),屏幕上也能看到提示創(chuàng)建了新的定時(shí)任務(wù)。接下來就是好好寫你的script.php了。
關(guān)于CronTab的更多用法這里就不介紹了,如果你想更靈活的使用這個(gè)定時(shí)任務(wù)功能,應(yīng)該自己再去深入學(xué)習(xí)一下crontab。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/22781.html
摘要:用戶任務(wù)調(diào)度用戶定期要執(zhí)行的工作,比如用戶數(shù)據(jù)備份定時(shí)郵件提醒等。用戶可以使用工具來定制自己的計(jì)劃任務(wù)。表示小時(shí),可以是從到之間的任何整數(shù)。時(shí)間間隔的單位可以是分鐘小時(shí)日月周及以上的任意組合。是命令文件的名字表示將做為的任務(wù)列表文件并載入。一、crond簡(jiǎn)介1、基本介紹crond是linux下用來周期性的執(zhí)行某種任務(wù)或等待處理某些事件的一個(gè)守護(hù)進(jìn)程,與windows下的計(jì)劃任務(wù)類似,當(dāng)安裝完...
閱讀 923·2023-04-25 23:59
閱讀 3866·2021-10-08 10:04
閱讀 1749·2019-08-30 14:05
閱讀 1073·2019-08-30 13:58
閱讀 552·2019-08-29 18:41
閱讀 1179·2019-08-29 17:15
閱讀 2379·2019-08-29 14:13
閱讀 2801·2019-08-29 13:27