RHCE7認證學習筆記19——計劃任務

luashin發表於2016-03-14

一、一次性任務at
    使用方式:at + 時間點

輸入命令、

ctrl + d提交
  [root@linuxidc ~]# at 2015-01-25
at> echo "Hello World"<EOT>
job 1 at Sun Jan 25 09:13:00 2015

    atq 和at -l:檢視當前執行的計劃任務;
[root@linuxidc ~]# atq
1Sun Jan 25 09:13:00 2015 a root

    at的日期格式:
HH:MM
MMDD[CC]YY, MM/DD/[CC]YY, DD.MM.[CC]YY or [CC]YY-MM-DD
123 [root@linuxidc ~]# at 12:00 2015-01-25
at> echo "Hello World"<EOT>
job 2 at Sun Jan 25 12:00:00 2015

[root@linuxidc ~]# at 7pm 2015-01-25

[root@linuxidc ~]# at 8AM+7days
at> echo "Hello World!"<EOT>
job 4 at Fri Jan 30 08:00:00 2015

at 1am tomorrow

    計劃任務儲存在/var/spool/at目錄下面,可以檢視相對應的檔案內容檢視計劃內容:

    刪除計劃任務:atrm 和at -d

    限制使用者是否能做計劃任務,可以在檔案/etc/at.allow and /etc/at.deny 定義使用者

二、週期性執行計劃任務crontab
    crontab -e + user:為某使用者編輯計劃任務

    crontab的編輯格式:

              field          allowed values
              -----          --------------
              minute分        0-59
              hour時          0-23
              day of month天  1-31
              month月          1-12 (or names, see below)
              day of week星期    0-7 (0 or 7 is Sunday, or use names)

    *:代表每的概念,當使用整點時間的時候,如:7:00,則分需要寫0
    /:代表每隔的意思

    0,10,20,30 :代表10,20,30分別執行

    1-5:代表1到5

   
    分時天月是和的關係   

    分時天月周是和的關係:

分      時      天      月      周      命令
0      7      *      *      *      /bin/bash
0,10,20,30      7      *      *      *      /bin/bash
0,10,20,30      7      *      *      1-5    /bin/bash
0,10,20,30      7      *      *      1-3,6  /bin/bash
0-15/5  7      *      *      1-5    /bin/bash
0      7      *      2-12/2  *      /bin/bash
0      7      *      1-11/2  *      /bin/bash
0      7      1-10    1-6    *      /bin/bash
0      7      *      1-6    1-5    /bin/bash
0      7      1-10    1-6    1-5    /bin/bash

因為天和周有可能有衝突:所以天和周同時寫的時候,它們是或者的關係   

crontab的計劃任務內容儲存在目錄/var/spool/cron下面

crontab -r :刪除計劃任務

控制使用者是否能做計劃任務的檔案為:
      /etc/cron.allow
      /etc/cron.deny
   

/etc/cron.daily /etc/cron.monthly 目錄分別放著每天和每月執行的指令碼,可以講指令碼放到這些目錄下面,然後定期執行;

 /tmp目錄定期清理工具:tmpwatch

讓計劃任務按照每隔多少秒執行,使用sleep命令:

*      *      *      *      *      echo 'Hello' &>>/tmp/cron
*      *      *      *      *      sleep 1;echo 'world' &>>/tmp/cron

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9034054/viewspace-2056760/,如需轉載,請註明出處,否則將追究法律責任。

相關文章