天天看點

cron任務計劃

 cron任務計劃:

任務計劃:

  在未來的某個時間點執行一次任務

   at:    

       at後跟時間

       at 時間

       at>COMMAND:表示要執行的指令

       at> Ctrl+d:退出

指定時間:

   絕對時間:HH:MM, DD.MM.YY    MM/DD/YY

   相對時間:now+#

       機關:minutes,hours,days,weeks

   模糊時間:noon,midnight,teatime

指令的執行結果:将以郵件的形式發送給安排任務的使用者    

     at -l = atq     顯示作業

   at -d AT_JOB_ID(作業号)=atrm 加作業号   删除作業

 batch    bash是不需要指定時間的,但也是執行一次,自動選擇系統較空閑的時刻再執行任務,

其他格式跟at相同。

周期性地執行某任務:

cron:自身是一個不間斷運作的服務

anacron:cron的補充,能夠實作讓cron因為各種原因在過去的時間改執行而未執行的任務再恢複正常執行一次,其他格式跟at相同。

cron:

    系統cron任務:

          /etc/crontab

              分鐘 小時 天 月 周 使用者 任務

    使用者cron任務:

          /var/spool/cron/USERNAME

              分鐘  小時 天 月 周 任務

 時間的有效取值:

        分鐘:0-59

        小時:0-23

        天:1-31

        月:1-12

        周:0-7,0和7都表示周日      一般來說周和幾号不能同用

時間通配表示:

          *:對應的所有有效取值

            3 * * * *:每小時的第三分鐘執行一次

            3 * * * 7::每個周日的每小時的第三分鐘

            13 12 * *:每天的12點13 分鐘

          ,:離散時間:

           10,40 02 * * 2,5:每周二,周五的兩點10分,40分執行一次

          -: 連續時間點

          10 02 * * 1-5:每周從周一到周五的兩點10分

          /#:對應取值範圍内每多久一次

比某個時間小的時間點要給個具體值:

          例如:

            每兩小時執行一次:不是* */2 * * * 

            而是  08 */2 * * *       前面的具體值是什麼不影響結果

           */3 * * * *:每3分鐘執行一次的任務

      執行結果将以郵件形式發給管理者:

          */3 * * * * /bin/cat /etc/fstab &> /dev/null

cron 的環境變量:cron執行所有指令都去PATH環境變量指定的路徑下去找

      PATH  /bin:/sbin:/usr/bin:/usr/sbin

寫腳本時:

先指定路徑:

例子:

#!/bin/bash

#

export PATH=

系統cron:

打開 /etc/crontab

cron任務計劃

可以直接定義PATH

SHELL:定義使用哪個shell

執行的指令就是run-parts後面的指令

 使用者任務的管理:

        crontab

            -l:列出目前使用者的所有cron任務

            -e:編輯

            -r:移除所有任務

            -u:USERNAME:管理其使用者的cron任務

     anacron

當編輯cron任務時:

crontab -e

cron任務計劃

其結果通過發郵件給我們