任務計劃

                      Linux任務計劃

一、任務計劃

    1)未來的某一個時間點執行一次某任務:at、batch

    2)周期性運行某任務

二、at 命令使用

    1注意:要執行at時候,必須有atd這個服務的支持才行,在某些新版的destributionatd默認是沒有啟動的。不過我們的CentOS默認是啟動的

        啟動方法:~]# /etc/init.d/atd restart

        設置開機時啟動這個服務:~]# chkconfig atd on

2)我們使用at這個命令來生成所需要運行的工作,并將這個工作以文本文件的方式寫入/var/spool/at目錄內,該工作便能等待atd這個服務的 取用與執行了。

3)我們可以利用/etc/at.allow/etc/at.deny這兩個文件進行at的使用限制

      /etc/at.allow:寫在這個文件中的用戶才可以使用at

      /etc/at.deny:寫在這個文件中的用戶不可以使用at

      以上兩個文件都沒有,則表示只有root用戶才可以使用

(4)at [OPTION]… TIME

         TIME:表示法

      A、HH:MM [YYYY-MM]

      B、模糊時間表示

         noon   midnight   teatime 、、、

         tomorrow

         now+#{minutes,hours,days, OR weeks}

    常用選項:

        -l: 查看作業隊列。相當于 atq

        -f/path/to/somefile 從指定文件中讀取作業任務,而不在交互式輸入

        -d:刪除制定的業務,相當于atrm

        -c:查看指定作業的具體內容

        -q QUEUE:指明隊列

    結束任務編輯用Ctrl+d

注意:作業的執行結果是以郵件的形式發送給提交作業用戶

 5執行方式:
            1)交互式

     2)輸入重定向

     3) at –f 文件

 (6)示例:

       創建任務

        任務計劃         

      查看任務

       任務計劃

       、、、

       任務計劃

 注意:任務計劃

          數字“2”表示任務隊列號

 (7)取消任務

       任務計劃

 

三、batch 命令

      會讓系統自動選擇在系統資源比較閑的時間去執行指定的任務

            at命令使用一樣

            任務計劃 

 

四、周期性任務計劃:cron

    1cron執行的每一項工作都會被記錄在/var/log/cron這個日志文件中。

    2 cronie: 主程序包,提供crond守護進程及相關輔助工具
             cronie-anacron cronie的補充程序,用于監控cronie任務執行狀況,如cron中的任務在過去該運行的時間點未能正常運行,則anacron會隨后啟動一次此任務
             crontabs:包含CentOS提供系統維護任務
    3)確保crond守護進程(daemon) 處于運行狀態:

     查看:

        CentOS 7:

                sysenctl status crond service

                狀態:Acitive:Active(running…)

        CentOS 6:

               service crond status

                狀態:……..is running

     4crond任務分兩種:

          1)、系統crond任務:主要實現系統自身的維護

              手動編寫/etc/crontab文件

          2)、用戶crond任務:

              要使用crontab命令

      注意crond提交作業的方式不同于at,他需要使用專用的配置文件,此文件有固定格式,不建議使用文本編輯器直接編輯此文件;要使用crontab命令

五、系統cron的配置格式:cat /etc/crontab

     1、配置文件

        任務計劃

        一共7個字段

 注意:(1)、每一行定義一個周期性任務

          (2)、各個之間用空格隔開

          (3)、此處的環境變量不同于用戶登錄后獲取的環境變量,因此,建議命令使用絕對路徑,或者自定義PATH環境變量

          (4)、各個字段表示什么意思:

                 1* * * * * :定義周期性時間

                 2user-name:運行任務的用戶身份

                 3command to executed:什么任務

2、示例:

  任務計劃    

表示指定用戶zq每五分鐘用ps命令查看進程信息

  

六、用戶cron的任務

    1、配置文件:/var/spool/cron/usernameuaername表示一個用戶名)

       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

       # |  |  |  |  |

       # *  *  *  *  *  command to be executed

  注意

       1)、每行定義一個cron任務,共六個字段

2)、此處的環境變量不同于用戶登錄后獲取的環境變量,因此,建議命令使用絕對路徑,或者自定義PATH環境變量

3)、郵件發送給當前用戶

    2、crontab   命令

       crontab [-u user] [-l | -r | -e] [-i] [-s]

       1)選項:

         -e :編輯任務

         -l :列出所有任務

         -r :移除所有任務:即刪除/var/spool/cron/username文件

         -i :在使用-r選項時提示用戶交互

         -u user root用戶可為指定用戶管理cron任務

     3、示例:

         (1)使用 crontab -e 進入編輯頁面,進行任務制定

                任務計劃  

         (2)查看任務

                任務計劃

           (3)移除任務

                 任務計劃

     注意:

      1)、運行結果以郵件形式通知給當前用戶; 如果拒絕接收郵件

          1)、COMMAND > /dev/null

          2)、COMMAND &> /dev/null

      2)、定義COMMAND時候,如果命令需要用到%,這時候需要對其轉義;但放置于單引號中的%不用轉義

 七、周期性任務時間表示法:

       1、特定值。

            給定時間點有效取值范圍內的值

           注意day of week day of month 一般不同時使用

       2、*

            給定時間點上有效取值范圍內的所有制:表示 “每、、、”

          示例:

            1)、3****:每小時執行一次,每小時的第三分鐘

            2)、34**5:每周執行一次,每周五的四點三分

            3)、567**:每月執行一次,每月七號六點五分

            4)、78910*:每年執行一次,每年的十月九號八點七分

       3、離散取值:

            在給定時間點上使用逗號分隔的多個值

                 #,##

           示例:

            5)、98**3,7:每周三和周日的八點九分

            6)、08,20**3,7:每周三和周日的八點零分和二十點零分

       4、連續取值方式

            在給定的時間點上使用’連接開頭和結束

                 #-#

           示例:

             7):0 9-18 * * 1-5:工作時間上的每個小時

       5、在指定時間上,定義步進長度:/

            */#

            /#:即步長

          示例:

          8)、*/5 * * * *:每五分鐘執行一次任務

 

   注意

         1、制定的時間點上不能被步長整除時候,其意義將不復存在。  

         2、最小時間單位為“分鐘”,想要完成“秒”級別的任務就得需要額外其它機制

              定義成每分鐘任務:而在利用腳本實現在每分鐘之內,循環執行多次

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

(0)
zqzq
上一篇 2017-05-14 20:37
下一篇 2017-05-14 22:19

相關推薦

  • 高可用keepalived

    21.高可用之keepalived                keepalived實現wrrp熱網關備份:        配置網關上的keepalived,配置文件如下         …

    2017-05-15
  • 重定向與管道

         本次內容    1.三種I/O設備    2.把I/O從定向入文件    3.命令tr    4.使用管道鏈接命令    5.tee   我們都知道程序是由:指令+數據    &n…

    2017-07-23
  • 磁盤管理

    設備類型分為字符設備和塊設備 主設備號用來標識設備類型,次設備號標識同一類型下的不同設備 硬盤設備命名: scsi,sata,sas,usb:/dev/sd 不同設備/dev/sda  /dev/sdb 同一設備不同分區:/dev/sda1,/dev/sdb2…… 硬盤: 一片磁盤的一面叫做盤面,一張盤片有兩個盤面 每個盤面有一個磁頭,最多有256…

    Linux干貨 2016-08-30
  • 第十四周 N21 總有刁民想害朕

    系統的INPUT和OUTPUT默認策略為DROP; 1、限制本地主機的web服務器在周一不允許訪問;新請求的速率不能超過100個每秒;web服務器包含了admin字符串的頁面不允許訪問;web服務器僅允許響應報文離開本機;  iptables -A  INPUT -p tcp –dpor…

    Linux干貨 2016-10-17
  • LVM基礎

    邏輯卷的原理 邏輯卷的組成上包括物理卷,邏輯組,邏輯卷 物理卷即是磁盤分區或者塊設備經過轉換以后形成的抽象的邏輯設備 邏輯組即是將物理卷進行統一打包,合成一個更大的邏輯上的分區 邏輯卷是在邏輯組的基礎上細分的課動態調節的虛擬磁盤分 其工作原理是通過某種機制將物理上的塊設備或者分區抽象的進行封裝,然后以邏輯卷的方式統一呈現給 上層的應用 邏輯卷的操作 一:創建…

    2017-05-01
  • apache工作模式及虛擬主機的配置

    apache的工作模式 MPM 名詞解釋MPM   Multipath Process Module 多道處理模塊。Linux中常使用prefork worker event三種MPM 即apache常用的三種工作模式。 prefork prefork為多進程模型,每個進程響應一個請求。其工作過程簡單說來就是一個主進程:負責生成n個 子進程(子進程…

    Linux干貨 2016-07-02
欧美性久久久久