<s id="m00ei"></s><center id="m00ei"></center>
  • <tfoot id="m00ei"></tfoot>

  • cron 表達式: 一套用于指定定時任務的表達式

    2023-08-12 23:22:05

    Cron 是一種用于設置定期執行任務的表達式。最早出現于 Unix 操作系統,crontab 軟件中就是一款使用這套語法的任務管理工具,常用于備份系統或清理日志。


    (資料圖片僅供參考)

    現在,Cron 表達式已被廣泛地應用于各種操作系統和應用程序中。平時看到的像是 0 0 * * **/5 * * * *等這些字符串都屬于 Cron 表達式。 中也支持使用 cron包來指定定時任務。

    既然使用那么廣泛,那么它是如何定義的呢?接下來我們就來學習。

    語法

    經典的 Cron 表達式由 5 位構成,中間用空格分割。語法如下:

    [minute] [hour] [day of month] [month] [day of week]

    每個字段的含義是:

    [minte]表示分鐘。取值范圍 0 到 59

    [hour]表示小時。取值范圍 0 到 23

    [day of month]表示幾號。取值范圍 1 到 23

    [month]表示幾月。取值范圍 1 到 12,也可以是用名稱簡寫(從 JanDec

    [day of week]表示周幾。取值范圍 0 到 6,也可以是用名稱簡寫(從 SunSat

    通用模式

    每個位置上除了上面列舉的值,還有一些通用模式可以使用:

    逗號 ,:表示當前使用的值的列表。比如 [minte]取值 1,3,5時,表示1分、3分和5分時各執行一次

    連字符號 -:表示當前使用的值的范圍。比如 [minte]取值 1-5時,等同于 1,2,3,4,5,表示1分、2分、3分、4分和5分時各執行一次

    星號 *:表示“從頭到尾(frist-last)”。比如 [minte]取值 *時,等同于 0-59,表示每分鐘執行一次

    斜杠符號 /:表示步進。比如 [minte]取值 */2,表示每 2 分鐘執行一次,即在2分、4分……58分、0分(下一個小時)分別執行一次;當 [minte]取值 1-9/2時,等同于 1,3,5,7,9,表示1分、5分、5分、7分和9分時各執行一次。步進默認為 1,即 *的寫法等同于 */1,表示每分鐘執行一次。

    練習

    * * * * *

    表示每分鐘執行一次。等同于 */1 * * * *0-59/1 * * * *

    */30 * * * *

    表示每半個小時執行一次。

    如果當前是 2023-08-03 15:41。那么后續執行時間分別是:

    next at 2023-08-03 16:00:00

    then at 2023-08-03 16:30:00

    then at 2023-08-03 17:00:00

    then at 2023-08-03 17:30:00

    then at 2023-08-03 18:00:00

    ……

    0 * * * *

    表示每小時(整點)執行一次。等同于 0 */1 * * *

    如果當前是 2023-08-03 15:41。那么后續執行時間分別是:

    next at 2023-08-03 16:00:00

    then at 2023-08-03 17:00:00

    then at 2023-08-03 18:00:00

    then at 2023-08-03 19:00:00

    then at 2023-08-03 20:00:00

    ……

    0 9-17 * * *

    從早上9點到下午5點,每小時(整點)執行一次。

    如果當前是 2023-08-03 15:41。那么后續執行時間分別是:

    next at 2023-08-03 16:00:00

    then at 2023-08-03 17:00:00

    then at 2023-08-04 09:00:00

    then at 2023-08-04 10:00:00

    then at 2023-08-04 11:00:00

    ……

    0 0 * * *

    表示每天(整點)執行一次。等同于 0 0 */1 * *

    如果當前是 2023-08-03 15:41。那么后續執行時間分別是:

    next at 2023-08-04 00:00:00

    then at 2023-08-05 00:00:00

    then at 2023-08-06 00:00:00

    then at 2023-08-07 00:00:00

    then at 2023-08-08 00:00:00

    ……

    0 8 * * *

    表示每天上午 8 點執行一次。

    如果當前是 2023-08-03 15:41。那么后續執行時間分別是:

    next at 2023-08-04 08:00:00

    then at 2023-08-05 08:00:00

    then at 2023-08-06 08:00:00

    then at 2023-08-07 08:00:00

    then at 2023-08-08 08:00:00

    ……

    0 8 * * 5

    表示每周五上午 8 點執行一次。等同于 0 0 * * FRI,相當于是 1 周執行 1 次。

    如果當前是 2023-08-03 15:41。那么后續執行時間分別是:

    next at 2023-08-04 00:00:00

    then at 2023-08-11 00:00:00

    then at 2023-08-18 00:00:00

    then at 2023-08-25 00:00:00

    then at 2023-09-01 00:00:00

    ……

    0 8 * * 4,5則表示每周四、每周五早上 8 點執行一次。

    0 0 * * 1-5

    表示每個工作日 8 點執行一次。

    0 8 * * 6,0則表示周末兩天早 8 點執行一次。

    0 0 1 * *

    表示每月 1 號執行一次。等同于 0 0 1 */1 *

    如果當前是 2023-08-03 15:41。那么后續執行時間分別是:

    next at 2023-09-01 00:00:00

    then at 2023-10-01 00:00:00

    then at 2023-11-01 00:00:00

    then at 2023-12-01 00:00:00

    then at 2024-01-01 00:00:00

    ……

    0 0 1 */3 *

    表示每個季度執行一次。

    如果當前是 2023-08-03 15:41。那么后續執行時間分別是:

    next at 2023-10-01 00:00:00

    then at 2024-01-01 00:00:00

    then at 2024-04-01 00:00:00

    then at 2024-07-01 00:00:00

    then at 2024-10-01 00:00:00

    ……

    0 0 1 1 *

    表示每年執行一次(1月1號 00:00)。

    如果當前是 2023-08-03 15:41。那么后續執行時間分別是:

    next at 2024-01-01 00:00:00

    then at 2025-01-01 00:00:00

    then at 2026-01-01 00:00:00

    then at 2027-01-01 00:00:00

    then at 2028-01-01 00:00:00

    ……

    掌握以上所列舉的這些表達式就足夠以后使用的了。

    中使用

    可以使用 cron 包執行定時任務。需要注意的是,cron 采用的是 6 位 Cron 表達式語法。

    跟經典語法相比:1. 第一位表示“秒”,而不是經典定義中的“分鐘”2.?另外,cron 包目前的 v2 版本的[month]的取值范圍是 0~11,而非 1~12。不過官方文檔說,cron v3 版本開始[month]的取值范圍將調整為 1~12。

    下面就來安裝依賴。

    使用方式如下:

    總結

    Cron 是一種用于設置定期執行任務的表達式,語法比較簡單,常用于備份系統或清理日志,現在已被廣泛地應用于各種操作系統和應用程序中。經典的 Cron 表達式由 5 位構成,中間用空格分割,分表表示“分鐘”、“小時”、“幾號”、“幾月” 和 “周幾”。實際使用時,不同軟件可能會做一些拓展,比如 的 Cron 使用的就是 6 位,稍稍注意一下即可。

    參考鏈接

    ●/package/cron●/●/

    關閉
    精彩放送
    日本乱人伦电影在线播放,欧洲女人性开放视频在线观看,1024香蕉国产在线视频,97国产精品视频
    <s id="m00ei"></s><center id="m00ei"></center>
  • <tfoot id="m00ei"></tfoot>
  • 主站蜘蛛池模板: 国产成人av大片大片在线播放 | 国产成人a毛片在线| 亚洲国产精品无码成人片久久 | 亚洲欧美成人完整版在线| 99精品国产在热久久| 一级做a爰片久久毛片唾| 波多野结衣cesd—819高清| 女人18毛片a级毛片一区二区| 午夜免费一级片| 一区二区三区视频网站| 精品人人妻人人澡人人爽牛牛| 成人人观看的免费毛片| 午夜电影一区二区| а√天堂中文资源| 特黄特黄aaaa级毛片免费看| 在线观看网站黄| 亚洲欧美中文日韩v在线观看| 中文字幕久久网| 香蕉国产人午夜视频在线| 日韩av片无码一区二区三区不卡 | 国产精品无码素人福利免费| 亚洲成年人网址| 永久在线观看www免费视频| 欧亚专线欧洲s码在线| 国产成人天天5g影院| 亚洲免费视频观看| 日韩在线播放全免费| 波多野结衣办公室33分钟| 小草视频免费观看| 人妻精品久久久久中文字幕69 | 中文网丁香综合网| 日韩大乳视频中文字幕| 国产乱码精品一区三上| 三级精品在线观看| 爱豆传媒在线视频观看网站入口| 国产高清在线a视频大全| 亚洲av无码乱码在线观看| 1000部夫妻午夜免费| 晚上睡不着正能量网址入口| 国产精品2018| 久久国产劲暴∨内射|