溫馨提示×

溫馨提示×

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

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

PHP中怎么利用Crontab執(zhí)行定時(shí)任務(wù)

發(fā)布時(shí)間:2021-06-30 17:04:56 來源:億速云 閱讀:166 作者:Leah 欄目:編程語言

這篇文章給大家介紹PHP中怎么利用Crontab執(zhí)行定時(shí)任務(wù),內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

安裝Crontab

yum install vixie-cron crontabs      //安裝Crontab chkconfig crond on                //設(shè)為開機(jī)自啟動(dòng) service crond start                 //啟動(dòng)

說明:vixie-cron軟件包是cron的主程序;crontabs軟件包是用來安裝、卸裝、 或列舉用來驅(qū)動(dòng) cron 守護(hù)進(jìn)程的表格的程序。

使用Crontab

cron是一個(gè)常駐服務(wù),它提供計(jì)時(shí)器的功能,讓用戶在特定的時(shí)間得以執(zhí)行預(yù)設(shè)的指令或程序。只要用戶會編輯計(jì)時(shí)器的配置文件,就可以使用計(jì)時(shí)器的功能。

查看crontab定時(shí)執(zhí)行任務(wù)列表

crontab -l

添加crontab定時(shí)執(zhí)行任務(wù)

crontab -e

Crontab任務(wù)命令格式

格式:minutehourdayofmonthmonthdayofweekcommand解釋:分鐘小時(shí)日期月付周命令范圍:0-590-231-311-120-7,0和7都代表周日

在crontab中我們會經(jīng)常用到* ,   -  /n 這4個(gè)符號,他們都有著特定的意義。

符號說明

*(星號)代表所有有效的值。 如:0 23 * * * backup 不論幾月幾日周幾的23點(diǎn)整都執(zhí)行backup命令。,(逗號)代表分割開多個(gè)值。如:30 9 1,16,20 * * command 每月的1、16、20號9點(diǎn)30分執(zhí)行command命令。-(減號)代表一段時(shí)間范圍。如0 9-17 * * * checkmail 每天9點(diǎn)到17點(diǎn)的整點(diǎn)執(zhí)行checkmail命令/n代表每隔n長時(shí)間。如*/5 * * * * check 每隔5分鐘執(zhí)行一次check命令,與0-59/5一樣。

舉幾個(gè)栗子:

每天凌晨3:00執(zhí)行備份程序:0 3 * * * /root/backup.sh

每周日8點(diǎn)30分執(zhí)行日志清理程序:30 8 * * 7 /root/clear.sh

每周1周5 0點(diǎn)整執(zhí)行test程序:0 0 * * 1,5 test

每年的5月12日14點(diǎn)執(zhí)行wenchuan程序:0 14 12 5 * /root/wenchuan

每晚18點(diǎn)到23點(diǎn)每15分鐘重啟一次php-fpm:*/15 18-23 * * * /etc/init.d/php-fpm

執(zhí)行PHP定時(shí)任務(wù)

例1:每天凌晨1點(diǎn)鐘執(zhí)行業(yè)務(wù)數(shù)據(jù)統(tǒng)計(jì)任務(wù)。

5 * * * * /usr/local/bin/php -f /home/web/stat.php >> /dev/null 2>&1

例2:每小時(shí)的第5分鐘獲取微信access_token。

5 * * * * /usr/local/bin/php -f /home/web/access.php >> /dev/null 2>&1

/usr/local/bin/php是你PHP可執(zhí)行程序的安裝路徑。

Crontab定時(shí)任務(wù)的最小粒度是分鐘,那如果我們要執(zhí)行秒級的定時(shí)任務(wù)怎么辦呢?比如每隔10秒鐘執(zhí)行一次任務(wù)呢?一個(gè)辦法是可用通過bash腳本sleep來實(shí)現(xiàn)秒級定時(shí),另一個(gè)辦法是使用Swoole擴(kuò)展來實(shí)現(xiàn)秒級任務(wù),接下來我們會發(fā)文專門講解基于swoole擴(kuò)展的支持秒級處理的定時(shí)器程序。

關(guān)于PHP中怎么利用Crontab執(zhí)行定時(shí)任務(wù)就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI