任務計劃

                      Linux任務計劃

一、任務計劃

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

    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)、郵件發送給當前用戶

    2crontab   命令

       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
下一篇 2017-05-14

相關推薦

  • CentOS6 網絡管理之網卡配置及簡單路由設置

    CentOS6中關于網絡配置的命令有很多,本文將介紹幾個平時最長用的幾個命令,以及網卡IP地址的配置和簡單路由配置。 1、經常使用的查看IP地址命令為 ifconfig,不跟參數的情況下默認查看所有已啟用的網卡信息,如下圖所示: 如果想查看具體某塊網卡信息,則可以在ifconfig后面跟上網卡設備,如只查看eth0的信息則執行:ifconfig eht0 即…

    Linux干貨 2016-09-05
  • N25第二周作業

    1、Linux上的文件管理類命令都有哪些其常用的使用方法及其相關示例演示。 cp(copy) 復制,mv(move)移動或者更名,mkdir(創建目錄,-p可以同時創建父目錄),rm(刪除目錄,-r 可以遞歸操作,rmdir(刪除空目錄)刪除文件或者目錄,建議建立一個臨時回收站,否則誤刪或者短時間內還需要的文件),touch,file,stat, …

    Linux干貨 2016-12-25
  • Linux的哲學理念

    1、由目的單一的小程序組成,通過使用者的組合形成一個能夠完成復雜任務的應用程序 2、一切皆為文件 3、盡量避免捕獲用戶接口;也就是說Linux運行的程序大多數是不需要過多的反復輸入/輸出人機交互信息,運行程序命令,直接獲得反饋的結果,是一種目的單一的程序 4、配置文件保存為純文本格式

    Linux干貨 2016-10-29
  • nginx配置(一)

    Nginx:http協議:web服務器(類似于httpd)、http reverse proxy(類似于httpd)、imap/pop3 reverse proxy NGINX is a free, open-source, high-performance HTTP server and reverse proxy, as well as an IMAP/…

    Linux干貨 2017-05-05
  • 文件管理類命令詳解

    文件管理類命令詳解 文件查看 cat 功能描述:連接文件并打印到標準輸出上 命令格式:cat [OPTION]… [FILE]… OPTION: -b 對所有非空白行編號 -n 給所有輸出行編號 -s 將連續多行空白行顯示為一行空白行 -E 在每一行行尾顯示$ FILE:可顯示多個文件,文件之間以空格分隔 舉例 將file1、file…

    Linux干貨 2017-07-09
  • shell腳本清空系統message日志

      1 #/bin/bash   2 #此腳本用來清空系統message日志文件   3 #author:wyf date:16/10/30   4 LOG_DIR=/var/log   5 ROOT…

    Linux干貨 2016-10-30
欧美性久久久久