這篇文章給大家介紹PHP中怎么利用Crontab執行定時任務,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
10多年的玉屏網站建設經驗,針對設計、前端、開發、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。全網營銷推廣的優勢是能夠根據用戶設備顯示端的尺寸不同,自動調整玉屏建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現優雅布局與設計,從而大程度地提升瀏覽體驗。創新互聯公司從事“玉屏網站設計”,“玉屏網站推廣”以來,每個客戶項目都認真落實執行。
安裝Crontab
yum install vixie-cron crontabs //安裝Crontab
chkconfig crond on //設為開機自啟動
service crond start //啟動
說明:vixie-cron軟件包是cron的主程序;crontabs軟件包是用來安裝、卸裝、 或列舉用來驅動 cron 守護進程的表格的程序。
cron是一個常駐服務,它提供計時器的功能,讓用戶在特定的時間得以執行預設的指令或程序。只要用戶會編輯計時器的配置文件,就可以使用計時器的功能。
查看crontab定時執行任務列表
crontab -l
添加crontab定時執行任務
crontab -e
格式:minutehourdayofmonthmonthdayofweekcommand解釋:分鐘小時日期月付周命令范圍:0-590-231-311-120-7,0和7都代表周日
在crontab中我們會經常用到* , - /n 這4個符號,他們都有著特定的意義。
符號說明
*(星號)代表所有有效的值。 如:0 23 * * * backup 不論幾月幾日周幾的23點整都執行backup命令。,(逗號)代表分割開多個值。如:30 9 1,16,20 * * command 每月的1、16、20號9點30分執行command命令。-(減號)代表一段時間范圍。如0 9-17 * * * checkmail 每天9點到17點的整點執行checkmail命令/n代表每隔n長時間。如*/5 * * * * check 每隔5分鐘執行一次check命令,與0-59/5一樣。
舉幾個栗子:
每天凌晨3:00執行備份程序:0 3 * * * /root/backup.sh
每周日8點30分執行日志清理程序:30 8 * * 7 /root/clear.sh
每周1周5 0點整執行test程序:0 0 * * 1,5 test
每年的5月12日14點執行wenchuan程序:0 14 12 5 * /root/wenchuan
每晚18點到23點每15分鐘重啟一次php-fpm:*/15 18-23 * * * /etc/init.d/php-fpm
例1:每天凌晨1點鐘執行業務數據統計任務。
5 * * * * /usr/local/bin/php -f /home/web/stat.php >> /dev/null 2>&1
例2:每小時的第5分鐘獲取微信access_token。
5 * * * * /usr/local/bin/php -f /home/web/access.php >> /dev/null 2>&1
/usr/local/bin/php是你PHP可執行程序的安裝路徑。
Crontab定時任務的最小粒度是分鐘,那如果我們要執行秒級的定時任務怎么辦呢?比如每隔10秒鐘執行一次任務呢?一個辦法是可用通過bash腳本sleep來實現秒級定時,另一個辦法是使用Swoole擴展來實現秒級任務,接下來我們會發文專門講解基于swoole擴展的支持秒級處理的定時器程序。
關于PHP中怎么利用Crontab執行定時任務就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
本文名稱:PHP中怎么利用Crontab執行定時任務
分享網址:http://vcdvsql.cn/article30/pehpso.html
成都網站建設公司_創新互聯,為您提供網站制作、虛擬主機、商城網站、建站公司、企業建站、App設計
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯