週期性任務計畫

2021-08-19 17:58:16 字數 3428 閱讀 7455

一次性任務計畫

at,batch

週期性任務計畫

crontab,anacron

一次性任務計畫:

at 互動式:讓使用者在

at>提示符輸入多個要執行命令:

批處理:讓任務的個命令寫入檔案由

at進行呼叫

at命令:

語法:at [option] time

time:

hh:mm [yyyy-mm-dd]

noon,midnight,teatime

tomorrow

now+#

常用選項:

-q: 

佇列 -l:列出指定佇列中等待執行的作業,相當於

atq

-d:

刪除指定的作業,相當於

atrm

-c:

檢視具體作業任務

-f: /path/from/somefile 

從指定檔案中讀取任務

ctrl+d 提交作業

at任務:

執行方式:    1)互動式 2)輸入重定向 3)at –f 檔案

依賴與atd服務,需要啟動才能實現at任務

at佇列存放在/var/spool/at目錄中

/etc/at.控制使用者是否能執行at任務    

白名單:/etc/at.allow預設不存在,只有該檔案中的使用者才能執行at命令    

黑名單:/etc/at.deny預設存在,拒絕該檔案中使用者執行at命令,而沒有在 at.deny 檔案中的使用者則可執行    

如果兩個檔案都不存在,只有 root 可以執行at 命令

batch

命令:

讓系統自行選擇空閒時間去執行此處指定的任務

週期性任務計畫:

crond

crond:守護程序,執行在後台,隨時監視著程序等待執行

服務程序:阻塞,輪訓

系統cron

任務 /etc/crontab

# *  * *  *  * user-name command to be executed

分,時,日,月,周

使用者cron

任務 crontab

命令 crontab

命令定義,每個使用者都有專用的

cron

任務檔案,

/var/spool/cron/username

日誌:/var/log/cron

時間表示法:

1.每個事件為都應該使用其可用的有效取之範圍內的值

2.某事件圍上的

*表示對應位的有效取值

3、-:連續的相鄰時間點取值

4、,:離散的時間點取值

5,/# :表示在指定時間範圍內每隔#一次

crontab

命令: -l 

列出所有任務

-e 編輯任務

-r 移除所有任務

-i 同-r

一同使用,以交換式模式讓使用者有選擇的移除指定任務

-u user 

僅root

可執行,代為指定使用者管理

cron

任務通過輸出重定向而拒收郵件:

&> /dev/null

> /dev/null2>&1

計畫任務配置檔案:

系統的計畫任務: /etc/crontab

/etc/cron.d/  配置檔案

/etc/cron.hourly/  指令碼

/etc/cron.daily/ 指令碼

/etc/cron.weekly/ 指令碼

/etc/cron.monthly/ 指令碼

cron

任務來講,

%有特殊用途,如果在

crontab的使用者命令中使用%,得轉義為\%

5 3 * * * /bin/touch~/testfile_`date +\%y-\%m-\%d`.txt

在使用單引號後,

%也可以不轉義

5 3 * * * /bin/touch~/testfile_`date +』%y-%m-%d『`.txt

練習:1、每

3分鐘執行乙個「echo 「how are you?」」

*/3 * * * * /bin/echo 「how are you?」

2、每週

2、4、6備份/etc/目錄至/backup目錄中,備份的檔名以當etc_開頭並跟上當日的日期作為檔名

0 0 ** 2,

4,6 /bin/tar jcf /back/etc-`date +'%f'`.tar.xz/etc/*

3.每天

6,9,12,15,18檢視一下系統當前掛載的所有檔案系統,並將檢視的結果追加至/tmp/mounts.txt檔案中

0 6-18/3 * * *  /bin/mount >> /tmp/mounts.txt

4.每天每兩小時取當前系統記憶體空間餘量,將其儲存至

/stats/memory.txt檔案中

20 */2* * * /bin/grep "^memfree:

" /proc/meminfo>> /stats/memory.txt

如何實現秒級別的任務:

* * * * for i in;do /bin/echo 「how are you?」;sleep10;done

anacron命令:是

crontab的補充,用於檢查crontab中某任務在過去的乙個週期內是否沒有執行,

如果沒有執行,則在開機以後的某時間點讓其執行一次,無論其週期是否到達

配置檔案:/etc/anacrontab,負責執行/etc/cron.daily /etc/cron.weekly /etc/cron.monthly中系統任務。

欄位1:如果在這些日子裡沒有執行這些任務……

欄位2:在重新引導後等待這麼多分鐘後執行它

欄位3:任務識別器,在日誌檔案中標識

欄位4:要執行的任務u由/etc/cron.hourly/0anacron執行 u當執行任務時,更新/var/spool/anacron/cron.daily 檔案的時間戳

管理臨時檔案:

centos6使用/etc/cron.daily/tmpwatch定時清除臨時檔案

centos7使用systemd-tmpfiles-setup服務實現

配置檔案:

/etc/tmpfiles.d/*.conf

/run/tmpfiles.d/*.conf

/usr/lib/tmpfiles/*.conf

/usr/lib/tmpfiles.d/tmp.conf

d /tmp 1777 root root10d

d /var/tmp 1777 rootroot 30d

命令: systemd-tmpfiles–clean|remove|create  configfile 

週期性計畫任務

週期性計畫任務 軟體 cronie crontabs crond 日誌檔案 var log cron 分 時 日 月 周 任意命令 絕對路徑 30 8 每天8 30 30 23 5 每週五23 30 任意範圍 分割多個不連續的時間點 1,3,5 指定連續的時間範圍 1 5 n 指定時間頻率,每n.2...

Linux任務計畫 週期性任務執行

at命令用於在指定時間執行命令。執行結果會通過郵件傳送給使用者 at允許使用一套相當複雜的指定時間的方法。它能夠接受在當天的hh mm 小時 分鐘 式的時間指定。假如該時間已過去,那麼就放在第二天執行 語法at 選項 引數 atq 查詢任務列表 atrm 刪除指定任務選項 f 指定包含具體指令的任務...

Linux任務計畫,週期性任務執行

概述 什麼是計畫任務呢?就像我們每個人日常生活中都會使用到的鬧鐘一樣,按時的去提醒該幹什麼事,以免忘記。同樣,我們在工作中也要每天在特定的時間內安排一些事情,這就是計畫任務。未來的某時間點執行以此任務 at,batch 週期性執行某任務 cron at命令 用法 at option time tim...