<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>
  • 主站蜘蛛池模板: 欧美激情视频网| 国产男女野战视频在线看| 蜜桃成熟时2005| 男人边吃奶边爱边做视频国产| 成人A级视频在线播放| 国产999视频| 六月丁香色婷婷| 一级特黄a视频| 精品久久久久久无码人妻蜜桃| 欧美另类69xxxx| 国产精品午夜爆乳美女| 亚洲图片欧美文学小说激情| 24小时免费看片| 精品人妻少妇一区二区三区不卡| 成人中文字幕一区二区三区| 午夜看片在线观看| shkd-443夫の目の前で犯| 男女男精品网站| 在线播放精品一区二区啪视频| 亚洲精品成人片在线播放| 78成人精品电影在线播放| 用我的手指来扰乱吧全集在线翻译| 天天操天天射天天操| 再灬再灬再灬深一点舒服| loveme动漫在线观看免费| 热99精品在线| 好爽又高潮了毛片免费下载| 人妻无码久久一区二区三区免费| 99re5精品视频在线观看| 精品一区二区三人妻视频| 天堂8在线天堂资源bt| 亚洲成a人片在线观看中文| 久久伊人色综合| 无码av无码天堂资源网| 免费看黄色a级片| 888午夜不卡理论久久| 最近中文字幕高清免费大全8| 国产精品刺激好大好爽视频| 久久青草国产免费观看| 色综合天天综合| 无码人妻精品一二三区免费|