首頁 > 軟體

Linux基礎教學學習筆記19——計劃任務

2020-06-16 18:03:52

Linux基礎教學學習筆記19——計劃任務

一、一次性任務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

Linux crontab 命令詳細用法及範例  http://www.linuxidc.com/Linux/2015-03/114339.htm

Linux中利用crontab建立計劃任務 http://www.linuxidc.com/https://www.linuxidc.com/Linux/2013-06/86401.htm

Linux中用crontab例行工作安排 http://www.linuxidc.com/https://www.linuxidc.com/Linux/2013-06/85441.htm

Linux crontab不執行問題排查 http://www.linuxidc.com/https://www.linuxidc.com/Linux/2013-06/85432.htm

Ubuntu使用crontab定時任務 http://www.linuxidc.com/https://www.linuxidc.com/Linux/2013-05/84770.htm

Linux計劃任務(at batch crontab anacron) http://www.linuxidc.com/https://www.linuxidc.com/Linux/2013-03/81584.htm 

本文永久更新連結地址http://www.linuxidc.com/Linux/2015-03/115325.htm


IT145.com E-mail:sddin#qq.com