如何使用Linux的Crontab執(zhí)行PHP腳本
1、設(shè)置 crontab 命令:crontab -e 該命令呼叫vi編輯器來(lái)編輯執(zhí)行的清單。
2、/var/spool/cron/ 這個(gè)目錄下存放的是每個(gè)用戶(hù)包括root的crontab任務(wù),每個(gè)任務(wù)以創(chuàng)建者的名字命名,比如tom建的crontab任務(wù)對(duì)應(yīng)的文件就是/var/spool/cron/tom。一般一個(gè)用戶(hù)最多只有一個(gè)crontab文件。
3、*/1是代表每分鐘。/usr/local/php/bin/php 是php腳本。意思就是拿PHP去執(zhí)行,跟拿迅雷下載東西一個(gè)道理,都是需要指定一個(gè)東西去執(zhí)行。
4、第6列要運(yùn)行的命令 crontab文件的一些例子:30 21 * * * /usr/local/etc/rc.d/lighttpd restart 上面的例子表示每晚的21:30重啟apache。
5、運(yùn)行這個(gè)命令:crontab -e 此命令將打開(kāi)一個(gè)文本編輯器以添加新任務(wù)。
6、命令行下執(zhí)行,如果有打印一些調(diào)試信息,你手動(dòng)執(zhí)行當(dāng)然會(huì)顯示出來(lái),但是他自動(dòng)執(zhí)行時(shí),你如果沒(méi)有把輸出重定向的話(huà),運(yùn)行日志是看不到結(jié)果的,你可以把PHP的輸出重定向到一個(gè)文件中。
linux定時(shí)任務(wù)php命令未找到
加入前兩行環(huán)境變量配置。其他命令未配置全局環(huán)境變量的情況下,在PATH后增加需要執(zhí)行命令的路徑即可找到。
/home/wwwroot/php 同時(shí)也這樣緩存才能生成在 /home/wwwroot。此處需要特別注意!這是大部分寫(xiě)的所謂linux定時(shí)執(zhí)行php沒(méi)有提到的,也最容易產(chǎn)生誤區(qū)的。當(dāng)然方法還有很多,還可以設(shè)置環(huán)境變量之類(lèi)的。這個(gè)只是一個(gè)簡(jiǎn)單的方法。
命令行下執(zhí)行,如果有打印一些調(diào)試信息,你手動(dòng)執(zhí)行當(dāng)然會(huì)顯示出來(lái),但是他自動(dòng)執(zhí)行時(shí),你如果沒(méi)有把輸出重定向的話(huà),運(yùn)行日志是看不到結(jié)果的,你可以把PHP的輸出重定向到一個(gè)文件中。
如何使用Linux的Crontab定時(shí)執(zhí)行PHP腳本的方法
1、定時(shí)任務(wù)最好的方法是用linux系統(tǒng)的加護(hù)任務(wù)來(lái)寫(xiě),你是虛擬主機(jī)那無(wú)法用這個(gè)法子,你可以寫(xiě)前臺(tái)訪(fǎng)問(wèn)觸發(fā)的法子,把代碼寫(xiě)到頁(yè)面,判斷時(shí)間段如果是在設(shè)置的時(shí)間段就執(zhí)行。
2、編輯定時(shí)執(zhí)行計(jì)劃。這個(gè)方式和修改文件類(lèi)似。使用命令:crontab -e ,e表示edit修改的意思。修改腳本路徑,腳本的具體執(zhí)行時(shí)間等。
3、Linux中crontab是實(shí)現(xiàn)定時(shí)執(zhí)行的指令,利用這個(gè)指令我們就可以定時(shí)執(zhí)行某一個(gè)php文件,從而實(shí)現(xiàn)用PHP做Linux自動(dòng)執(zhí)行腳本。
4、crontab命令格式為: crontab [-u username] [file] [ -e | -l | -r ] 設(shè)置定時(shí)任務(wù)和時(shí)間緊密相關(guān),如果服務(wù)器的時(shí)區(qū)時(shí)間設(shè)置和本地不同,就不能保證計(jì)劃任務(wù)的正確執(zhí)行。所以使用crontab的第一步,是調(diào)節(jié)好服務(wù)器的時(shí)間。
5、可以在cron.d新建腳本 echo-date.sh內(nèi)容為*/1 * * * * root /opt/bin/test-cron.shcron是一個(gè)linux下的定時(shí)執(zhí)行工具,可以在無(wú)需人工干預(yù)的情況下運(yùn)行作業(yè)。