<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      標簽列表

      everest33

      自制力

      導航

      Linux定時執行

      systemd.timer

      精確到秒級的定時器任務。參考另一篇博文。

      at命令

      在指定時間執行一次性的任務或命令. at 不支持秒級精度

      anacrontab命令

      anacrontab 是一個專門用于處理那些由于系統關機而錯過的周期性任務的工具。它的主要目的是確保即使系統在預定的時間內未運行,任務也能在系統啟動后盡快執行。anacrontab 的時間精度較低,通常以天為單位進行調度。它不支持分鐘或小時級別的精確調度。

      使用場景

      • Crontab:適用于需要高精度調度的任務,如定期備份、日志輪轉、定時數據同步等。
      • Anacrontab:適用于那些對時間精度要求不高,但必須保證任務最終執行的任務,如每日更新、每周報告生成等。

      crontab命令

      一、測試網站:

      二、Details:

      crontab配置文件

      Linux下的任務調度分為兩類:系統任務調度和用戶任務調度。Linux系統任務是由 cron (crond) 這個系統服務來控制的,這個系統服務是默認啟動的。用戶自己設置的計劃任務則使用crontab 命令。在CentOS系統中,

      cat /etc/crontab

      配置文件可以看到如下解釋:

      SHELL=/bin/bash
      PATH=/sbin:/bin:/usr/sbin:/usr/bin
      MAILTO=root
      HOME=/
      # For details see man 4 crontabs
      # Example of job definition:
      # .---------------- minute (0 - 59)
      # | .------------- hour (0 - 23)
      # | | .---------- day of month (1 - 31)
      # | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
      # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
      # | | | | |
      # * * * * * user-name command to be executed

      前四行是用來配置crond任務運行的環境變量,

      第一行SHELL變量指定了系統要使用哪個shell,這里是bash;

      第二行PATH變量指定了系統執行命令的路徑;

      第三行MAILTO變量指定了crond的任務執行信息將通過電子郵件發送給root用戶,如果MAILTO變量的值為空,則表示不發送任務執行信息給用戶;

      第四行的HOME變量指定了在執行命令或者腳本時使用的主目錄。

      用戶定期要執行的工作,比如用戶數據備份、定時郵件提醒等。用戶可以使用 crontab 工具來定制自己的計劃任務。所有用戶定義的crontab 文件都被保存在 /var/spool/cron目錄中。其文件名與用戶名一致(可能需要root權限才能查看目錄)。

      crontab文件含義( Linux原生的crontab只支持5段的,最小單位是分鐘。其它實現一般最小單位是秒)

      用戶所建立的crontab文件中,每一行都代表一項任務,每行的每個字段代表一項設置,它的格式共分為六個字段,前五段是時間設定段,第六段是要執行的命令段,格式如下:
      minute hour day month week command
      crontab用法與實例crontab用法與實例

      在以上各個字段中,還可以使用以下特殊字符:

      "*"代表所有的取值范圍內的數字,如月份字段為*,則表示1到12個月;

      "/"代表每一定時間間隔的意思,但并不是通常意義上的時間間隔,而是一個周期內(對于分鐘,周期就是一小時)間隔,比如

      • 分鐘字段為*/28(此時*實際等同于0),表示從第0分鐘開始每隔28分鐘執行一次,但是第56分鐘執行后會重新開始一個周期。執行時間為:第0分鐘,第28分鐘,第56分鐘,下一個周期的第0分鐘,第28分鐘,第56分鐘......
      • 分鐘字段為 2/28,表示從第2分鐘開始每隔28分鐘執行一次。執行時間為:第2分鐘,第30分鐘,第58分鐘,下一個周期的第2分鐘,第30分鐘,第58分鐘......
      • 假設秒字段為 *, 分鐘為 2/28, 則最終效果是 每秒執行一次。想實現每個周期內從第二分鐘開始,隔28分鐘執行一次的效果需要將秒字段設置一個數值
      1 3 * * * ? // 此表達式是精確到秒的cron實現 (當前時間:2023年8月18日09:46:11)
      2023-08-18 10:03:01
      2023-08-18 11:03:01
      2023-08-18 12:03:01
      2023-08-18 13:03:01
      
      7 2/28 * * * ? //此表達式是精確到秒的cron實現
      2021-01-14 12:02:07
      2021-01-14 12:30:07
      2021-01-14 12:58:07
      2021-01-14 13:02:07
      2021-01-14 13:30:07
      2021-01-14 13:58:07
      
      //9點至晚上21點之間 每隔半小時運行一次
      0 0/30 9-21 * * * // 此表達式是精確到秒的cron實現(當前時間:2023年8月23日08:45:34)
      2023-08-23 09:00:00
      2023-08-23 09:30:00
      2023-08-23 10:00:00
      2023-08-23 10:30:00
      2023-08-23 11:00:00
      2023-08-23 11:30:00
      2023-08-23 12:00:00
      2023-08-23 12:30:00
      2023-08-23 13:00:00
      2023-08-23 13:30:00
      * 2/28 * * * ? //精確到秒的cron實現的表達式
      2021-01-14 11:30:00
      2021-01-14 11:30:01
      2021-01-14 11:30:02
      2021-01-14 11:30:03
      2021-01-14 11:30:04
      2021-01-14 11:30:05

      "-"代表從某個區間范圍,是閉區間。如“2-5”表示“2,3,4,5”,小時字段中0-23/2表示在0~23點范圍內每2個小時執行一次。

      ","分散的數字(不一定連續),如1,2,3,4,7,9。

      "?"表示不關注這一項,如 幾號 和 星期幾,我只想在每月1號執行動作而不管是星期幾,那么就可以在星期幾的位置使用 "?"。有的 crontab實現 支持"?"有的不支持"?"

      1 1 1 * ?  //每月的1號1點1分執行動作,不管是星期幾。好像和 直接使用 * 效果一樣,不過有的實現不支持幾號 和 星期幾同時賦值,這時就用 “?”代替。


      1 1 1 * 2 // 幾號和星期幾一起賦值時,取并集,即每月的1號1點1分 以及 每月的周二1點1分 執行動作

      next at 2020-12-15 01:01:00
      then at 2020-12-22 01:01:00
      then at 2020-12-29 01:01:00
      then at 2021-01-01 01:01:00
      then at 2021-01-05 01:01:00

       

      注:由于各個地方每周第一天不一樣,因此Sunday=0(第一天)或Sunday=7(最后1天)。

      crontab命令詳解

      格式:

      crontab [-u user] file
      crontab [ -u user ] [ -i ] { -e | -l | -r }
      • ? -u user:用于設定某個用戶的crontab服務;
      • ? file: file為命令文件名,表示將file作為crontab的任務列表文件并載入crontab;
      • ? -e:編輯某個用戶的crontab文件內容,如不指定用戶則表示當前用戶;
      • ? -l:顯示某個用戶的crontab文件內容,如不指定用戶則表示當前用戶;
      • ? -r:從/var/spool/cron目錄中刪除某個用戶的crontab文件。
      • ? -i:在刪除用戶的crontab文件時給確認提示。
      crontab注意點
      1. crontab有2種編輯方式:直接編輯/etc/crontab文件與·crontab –e·,其中/etc/crontab里的計劃任務是系統中的計劃任務,而用戶的計劃任務需要通過crontab –e來編輯;
      2. `crontab -l`只能顯示用戶的計劃任務,無法顯示系統的計劃任務?。。?/li>
      3. 每次編輯完某個用戶的cron設置后,cron自動在/var/spool/cron下生成一個與此用戶同名的文件,此用戶的cron信息都記錄在這個文件中,這個文件是不可以直接編輯的,只可以用crontab -e 來編輯。
      4. crontab中的command盡量使用絕對路徑,否則會經常因為路徑錯誤導致任務無法執行。
      5. 新創建的cron job不會馬上執行,至少要等2分鐘才能執行,可重啟cron來立即執行。
      6. %在crontab文件中表示“換行”,因此假如腳本或命令含有%,需要使用\%來進行轉義。
      7. crontab最小執行周期是1min,如果需要小于1min,需要借助sleep N。參考此文。
      8. 有時我們創建了一個crontab,但是這個任務卻無法自動執行,而手動執行這個任務卻沒有問題,這種情況一般是由于在crontab文件中沒有配置環境變量引起的。
        在 crontab文件中定義多個調度任務時,需要特別注意的一個問題就是環境變量的設置,因為我們手動執行某個任務時,是在當前shell環境下進行的,程 序當然能找到環境變量,而系統自動執行任務調度時,是不會加載任何環境變量的,因此,就需要在crontab文件中指定任務運行所需的所有環境變量,這 樣,系統執行任務調度時就沒有問題了。可以嘗試在crontab中直接引入環境變量解決問題。如:·0 * * * * . /etc/profile;/bin/sh /var/www/java/audit_no_count/bin/restart_audit.sh·
      9.  
      crontab配置實例

      每一分鐘執行一次command(因cron默認每1分鐘掃描一次,因此全為*即可)

      *    *    *    *    *  command

      每小時的第3和第15分鐘執行command

      3,15   *    *    *    *  command

      每天上午8-11點的第3和15分鐘執行command:

      3,15  8-11  *  *  *  command

      每隔2天的上午8-11點的第3和15分鐘執行command:

      3,15  8-11  */2  *   *  command

      每個星期一的上午8點到11點的第3和第15分鐘執行command

      3,15  8-11   *   *  1 command

      每晚的21:30重啟smb

      30  21   *   *  *  /etc/init.d/smb restart

      每月1、10、22日的4 : 45重啟smb

      45  4  1,10,22  *  *  /etc/init.d/smb restart

      每周六、周日的1 : 10重啟smb

      10  1  *  *  6,0  /etc/init.d/smb restart

      每天18 : 00至23 : 00之間每隔30分鐘重啟smb

      0,30  18-23  *  *  *  /etc/init.d/smb restart

      每一小時重啟smb

      *  */1  *  *  *  /etc/init.d/smb restart

      晚上11點到早上7點之間,每隔一小時重啟smb

      *  23-7/1  *   *   *  /etc/init.d/smb restart

      每月的4號與每周一到周三的11點重啟smb

      0  11  4  *  mon-wed  /etc/init.d/smb restart

      每小時執行/etc/cron.hourly目錄內的腳本

      0  1   *   *   *     root run-parts /etc/cron.hourly

      三、quartz框架中的cron表達式

      1. cron表達式編寫的順序一次是”秒 分 時 日 月 周 年”。 quartz中的時間有七段,而Linux中的cron表達式只有五段“分 時 日 月 周

      posted on 2020-12-08 09:21  everest33  閱讀(1245)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 久久国产精品二国产人妻| 国产精品综合av一区二区 | 国产永久免费高清在线观看| 国内极度色诱视频网站| 亚洲精品色哟哟一区二区| 无套内射视频囯产| 熟妇好大好深好满好爽| 色99久久久久高潮综合影院| 亚洲国产精品一二三四区| 国产成人精品免费视频大全| 黑人精品一区二区三区不| 久青草国产在视频在线观看| 欧美乱人伦人妻中文字幕| 苍井空一区二区三区在线观看| 国产精品一线天在线播放| 亚洲精品国产字幕久久麻豆| 国产av无码国产av毛片| 国产熟女一区二区三区蜜臀| 亚洲精中文字幕二区三区| 精品一区二区亚洲国产| 少妇激情a∨一区二区三区| 日日噜噜夜夜狠狠久久无码区| 极品粉嫩小泬无遮挡20p| 亚洲国产成人久久一区久久| 99久久国产成人免费网站| 欧美黑人添添高潮a片www| 亚洲a∨无码无在线观看| 高潮潮喷奶水飞溅视频无码 | 精品无码日韩国产不卡av| 91久久亚洲综合精品成人| 国产线播放免费人成视频播放| 性色av 一区二区三区| 日韩av高清在线看片| 99热国产这里只有精品9| 依依成人精品视频在线观看| 亚洲欧美另类久久久精品播放的 | 蜜桃av无码免费看永久| 亚洲男人电影天堂无码| 亚洲精品色哟哟一区二区| 久久免费观看午夜成人网站| 国产精品午夜福利精品|