<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高清在线观看一区二区 | 在线观看黄网站| 国产69久久精品成人看| 久久久久久成人毛片免费看 | 波多野结衣和邻居老人公| 欧美中日韩免费观看网站| 国产精品福利尤物youwu| 亚洲欧美日韩中文无线码| 91色视频在线| 欧美日韩中文视频| 国产精品柏欣彤在线观看| 亚洲国产成人精品女人久久久| 521色香蕉网站在线观看| 欧美成人看片一区二区三区尤物 | 激情内射日本一区二区三区| 天天躁天天弄天天爱| 伊人a.v在线| 97国产在线视频公开免费| 欧美日韩国产欧美| 国产精品一久久香蕉国产线看观看| 亚洲免费电影网站| 国内精品免费麻豆网站91麻豆 | 亚洲日韩av无码中文| 最新精品亚洲成a人在线观看| 欧美人与动人物姣配xxxx| 国产欧美综合在线| 久久午夜夜伦鲁鲁片免费无码影视| 夜夜未满18勿进的爽影院| 精品人成电影在线观看| 天天视频国产免费入口| 亚洲熟妇AV一区二区三区漫画| 手机看片福利在线| 日韩精品免费一级视频| 国产一区二区在线观看app| 一级二级三级毛片| 色噜噜人体337p人体| 宅男666在线永久免费观看| 国产va免费精品高清在线观看| 一区二区三区免费在线观看| 绿巨人草莓香蕉丝瓜菠萝| 天天影院成人免费观看|