PHP 定時任務 Cron

2022-02-26 09:16:25 字數 1879 閱讀 7403

一.  crontab 介紹

crontab命令的功能是在一定的時間間隔排程一些命令的執行。在/etc目錄下有乙個crontab檔案,這裡存放有系統執行的一些排程程式。每個使用者可以建立自己的排程crontab。 

二.crontab使用說明

1.crontab命令語法

usage:  crontab [-u user] [ -e | -l | -r ]

-u      設定某個使用者的cron服務,一般root使用者在執行這個命令的時候需要此引數

-e      編輯某個使用者的cron服務

-l      列出某個使用者cron服務的詳細內容

-r      刪除某個使用者的cron服務

例如:root檢視自己的cron設定,命令為crontab -u root –l

在我們的專案中常用的命令:

a、crontab /etc/crontab

b、crontab -l

c、/etc/init.d/cron stop

d、/etc/init.d/cron start

我們可以用crontab -e 新增要執行的命令。新增的命令必須以如下格式:

* * * * * /command path

ps前五個字段可以取整數值,指定何時開始工作,第六個域是字串,即命令字段,其中包括了crontab排程執行的命令。 各個字段之間用spaces和tabs分割。

前5個字段分別表示:

分鐘:0-59

小時:0-23

日期:1-31

月份:1-12

星期:0-6(0表示週日)

還可以用一些特殊符號:

* : 表示任何時刻

, : 表示分割

- :表示乙個段,如第二端裡: 1-5,就表示1到5點

/n : 表示每個n的單位執行一次,如第二段裡,*/1, 就表示每隔1個小時執行一次命令。也可以寫成1-23/1.

例項:

43 21 * * *                 21:43 執行

15 05 * * *               05:15 執行

0 17 * * *                  17:00 執行

0 17 * * 1                  每週一的 17:00 執行

0,10 17 * * 0,2,3          每週日,周二,週三的 17:00和 17:10 執行

0-10 17 1 * *               毎月1日從 17:00到7:10 毎隔1分鐘 執行

0 0 1,15 * 1                毎月1日和 15日和 一日的 0:00 執行

42 4 1 * *                毎月1日的 4:42分 執行

0 21 * * 1-6              周一到週六 21:00 執行

0,10,20,30,40,50 * * * * 每隔10分 執行

*/10 * * * *          每隔10分 執行

* 1 * * *            從1:0到1:59 每隔1分鐘 執行

0 1 * * *            1:00 執行

0 */1 * * *           毎時0分 每隔1小時 執行

0 * * * *            毎時0分 每隔1小時 執行

2 8-20/3 * * *        8:02,11:02,14:02,17:02,20:02 執行

30 5 1,15 * *         1日 和 15日的 5:30 執行

Cron 定時任務

一般系統都會有定時任務存在,比如訂單系統,會根據定時任務來實時同步訂單狀態,同步交易狀態等等。定時任務可以使用quartz 定時任務,也可以自己寫乙個任務排程系統,只要能實現功能就可以。下面我簡單介紹一下quartz 定時任務配置,需要配置三個bean,分別為 quartz,trigger,sche...

Cron定時任務

完整的是七位 秒 分鐘 小時 日 月 星期 年 有的沒有這個年 0 0 12 每天中午12點觸發 0 15 10 每天上午10 15觸發 0 15 10 每天上午10 15觸發 0 15 10 每天上午10 15觸發 0 15 10 2005 2005年的每天上午10 15觸發 0 14 在每天下午...

Cron定時任務

cron cron表示式是乙個字串,字串以5或6個空格隔開,分為6或7個域,每乙個域代表乙個含義,cron有如下兩種語法格式 seconds minutes hours dayofmonth month dayofweek year或 seconds minutes hours dayofmonth...