任務計劃使用方法

概述

    任務計劃其實就是針對未來的某一刻或者是某一周期內設置要執行的工作;

    任務計劃分為兩種:

        1、一次性任務:在指定的未來的某個時間點僅執行一次任務;

            命令:at batch

        2、周期性任務:根據設置的時間循環工作。

            命令:crontab

一次性工作調度

    at命令

        使用at命令時,首先其服務atd必須開啟,否則無法使用此命令。

        1.png

       語法格式: at [-ldc] TIME 

        下面舉例來說明at命令的用法:

        1、使用at命令來設置任務:

            2.png

           上面的命令表示:從現在起2分鐘后執行ls /tmp命令,使用快捷鍵Ctrl+d來結束命令輸入。

           at命令并不會把執行結果輸出到屏幕上,而是默認給任務設置者發送郵件;每個用戶被創建時系統都會默認為其創建郵箱,可以通過變量$MAIL來查看郵箱的路徑,以root用戶為例:

           可以看到root用戶的郵箱路徑

            3.png

           查看郵箱最下面的內容即為ls /tmp的結果

           4.png          

            在上面的at命令中使用 now + 2 minutes來指定時間,下面詳細說明時間的表示方法:

                絕對時間:

                    HH:MM:表示在今日的HH:MM時執行任務,若設置任務時已經超過了此時間,則為明天的HH:MM執行。如:02:00。

                    HH:MM YYYY-MM-DD:表示在某年某月某日的HH:MM執行任務。如:02:00 2015-03-25。

                    HH:MM[am|pm] [Month] [Date]:表示某月某日的HH:MM執行任務。

                相對時間:

                    now + # [minutes|hours|days|weeks]:表示從現在開始再過多少時間執行任務。

                模糊時間:

                    noon:相當于12:00

                    midnight:相當于00:00

                    teatime:相當于4:00 pm

                    tomorrow:明天         

        2、查詢已經設置的at任務

                5.png

                第一列為任務的編號,之所以是5和6是因為之前的at任務已經執行完成;

                第二列是任務執行的時間;

                最后一列表示任務的執行者為root。

                此命令相當于命令atq。

        3、刪除已經設置的at任務

                6.png

                刪除編號為5的at任務。

                此命令相當于命令atrm。

         4、查看at任務的工作內容

               7.png

            使用-c選項可以輸出任務的工作腳本,其實此參數就是將/var/spool/at/目錄中與任務相對應的文件顯示了出來;使用at命令設置好的任務都會以/var/spool/at/目錄中自動生成一個腳本文件,如下圖:

                8.png

                9.png

                可以看到文件中a0000后的數字與任務編號相對應。

        5、at的權限

            at使用/etc/at.allow和/etc/at.allow兩個文件來控制權限。

            1、寫在/etc/at.allow文件中的用戶可以才能使用at; 

            2、如果/etc/at.allow不存在,查找/etc/at.deny文件,如果寫在/etc/at.deny文件中則不能使用at,否則就有使用at的權限;

            3、如果兩個文件都存在,則/etc/at.allow文件生效;

            3、如果兩個文件都不存在,就只有root可以使用at命令。

    batch命令

        功能與at相同,但不需要指定時間,自動選擇系統空閑時運行計劃任務。

周期性工作調度

    crontab命令

        使用此命令必須確保crond服務是開啟狀態。

        10.png

        語法格式:crontab [-u username] [-l|-e|-r]

            -e:編輯crontab的工作內容;

            -u:只有root用戶才能使用此參數,幫助其它用戶建立任務;

            -l:查閱crontab的工作內容;

            -r:刪除crontab的所有工作內容。

       1、編輯cron任務

        在第一次使用crontab -e命令進行編輯工作時,會發現這是一個空的文件,沒有任何文字可供參考,那么任務怎么寫呢?

        系統提供了crontab的配置文件,打開/etc/crontab文件可以看到格式的說明:

            11.png

            文件上面的部分是定義的環境變量,這些環境變量已經在系統中都定義可以正常使用了,為什么還要在配置文件中再定義一次呢?

            由于crontab定義的是周期性任務,在運行任務時并不能保證任務發起者處于系統登錄狀態,如果用戶退出登錄后,其對應的環境變量也被相應的取消了;那么任務運行的環境($SHELL),命令查找的路徑($PATH)等信息就都無法讀取,會造成任務的執行失??;在任務運行前先從配置文件中讀取環境變量,就可以避免此問題的發生了。

            文件下面的部分是crontab任務的格式說明,我們根據配置文件的信息來說明crontab任務的格式。

            cron任務分為兩類:

                1、系統cron任務

                    格式:分鐘 小時 周幾 用戶 任務

                2、用戶cron任務

                    格式:分鐘 小時 周幾 任務

                  時間的有效取值范圍:                  

                    分鐘:0-59

                    小時:0-23

                    天:  1-31

                    月:  1-12

                    周:  0-7,07都表示周日

                時間通配表示:

                    * :對應時間的所有有效取值

                    ,:離散時間點, 10,40 * * * * 每小時第10分鐘和第40分鐘

                    – :連續時間     10 02 * * 1-5  每周一到周五

                    / :對應取值范圍內每多久一次   */3 * * * *   3分鐘

                例如:0 5 * * 1  表示每周一的5點鐘;

                      * 5 * * 1  表示每周一的5:00-5:59的每一分鐘

                

                crontab的執行結果也會以郵件的形式發送到任務發起者的郵箱中。           

            注意:crontab命令使用-e選項進行編輯時,實際上就是編輯/var/spool/cron/USERNAME(當前用戶名)文件,以root為例:

            5.png

            但不要直接編輯此文件進行任務訂制,因為使用-e選項可以自動識別語法錯誤,而使用vim直接打開文件進行編輯則沒有此功能。

        2、查看cron任務

            1.png

        3、為其它用戶定義cron任務         

            2.png

            3.png

        4、刪除所有的cron任務

            4.png

            如果想要只刪除某一條的任務,使用-e選項手動刪除即可。

        5、cron的權限

            與at一樣,cron也使用文件來定義用戶的使用權限;

            /etc/cron.allow :寫入此文件的用戶可以使用crontab,沒有寫入的用戶則不可使用;

            /etc/cron.deny :寫入此文件的用戶不可以使用crontab,沒有寫入的用戶則可以使用;

            /etc/cron.allow比/etc/cron.deny的優先級要高,同一賬號在兩個文件中同時出現時,以/etc/cron.allow為準。

        6、日志功能

            cron執行的每一項任務都會被記錄到/var/log/cron這個日志文件。

            6.png

    anacron命令        

        檢查有沒有過去一個有效周期未曾執行的任務,如果有,在開機后的指定時間點執行一次;

        查看anacrontab配置文件

            8.png

         配置文件中任務的四個值的含義:

             period in days      delay in minutes    job-identifier    command

            過去沒執行的天數    開機后第多少分鐘數     工作名稱         任務

         此命令在生產環境中基本用不到,此處不再進一步說明。

    

 

原創文章,作者:petmaster,如若轉載,請注明出處:http://www.www58058.com/1522

(0)
petmasterpetmaster
上一篇 2015-03-26 14:59
下一篇 2015-03-27 13:19

相關推薦

  • 第三周作業

    1.列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 [root@localhost ~]# who | cut -d' ' -f1 | sort -u 2.取出最后登錄到當前系統的用戶的相關信息。 […

    Linux干貨 2017-01-04
  • 磁盤管理

      磁盤管理是一項計算機使用時的常規任務,它是以一組磁盤管理應用程序的形式提供給用戶的,它們位于"計算機管理"控制臺中.它包括查錯程序和磁盤碎片整理程序以及磁盤整理程序。   一磁盤分區     1為什么要分區?     ?優化I…

    Linux干貨 2016-09-02
  • 畢業即高薪只是別人家的好事嗎?

    1 畢業即高薪?運氣?夢想?還是噓頭?  同學們,你還在擔心畢業后不好找工作嗎,畢業即高薪只是別人家的好事嗎?馬哥linux又一名在校生學員畢業即20w+高薪名企,你還在等什么呢? 真的只是夢想么?還是只存在于別人家的公司? 越來越多的在校大學生憑著強烈的上進心踴躍的加入了馬哥linux的學習陣營,這名研究生同學在研究生畢業的同時也從馬哥linux…

    2015-09-06
  • Linux下 文件類型不同顏色的含義

    linux 文件顏色的含義 藍色代表目錄 綠色代表可執行文件 紅色表示壓縮文件 淺藍色表示鏈接文件 灰色表示其他文件 紅色閃爍表示鏈接的文件有問題了 黃色表示設備文件 藍色文件———-目錄 白色文件———-一般性文件,…

    Linux干貨 2016-10-18
  • 用戶、組、權限和修改

    用戶、組和權限     普通用戶 1–65535     系統用戶  系統已經已經存在專門用來對系統服務或者系統資源進行管理的               1…

    Linux干貨 2017-04-04
  • Linux-start

    學習計劃:參見N24學習時間與線路圖. 目標:完成作業,考試過關。 宣言:人但有追求,世界亦會讓路。

    Linux干貨 2016-10-24

評論列表(2條)

  • stanley
    stanley 2015-04-02 22:39

    參考其它優秀博文優化下現有的格式,有些技巧會讓自己的博文更優美

    • petmaster
      petmaster 2015-04-03 00:11

      @stanley謝謝!

欧美性久久久久