跟馬哥學linux (lesson 5)linux任務管理

1.linxu任務計劃:vim

任務計劃:bash

在將來時間點執行一次任務:at,batchide

週期性執行任務:crontab工具

電子郵件服務:post

smtp:simple mail transmission protocolspa

/var/spool/mail/USERNAME 我的郵件緩衝目錄接口

pop3:post office protocol隊列

imap4:internet mail access protocol進程

MUA:mail命令crontab

mail:

mail:進入交互式收發郵件接口

mail -s "SUBJECT" user@hostname

mail -s "SUBJECT" user@hotname < echo "aaa"

command | mail -s "SUBJECT" username@hostname


at命令:

承載將來執行的命令

執行使用做業隊列

默認爲a隊列

Crtl+d

at [option].. time

time命令:

1.絕對時間 HH:MM MMDD[CC]YY

2.相對時間 now+時間

minut hour day week

3.模糊時間 

midnight noon teatime

經常使用選項:

-q QUEUE at做業隊列

-f /PATH/filename 從指定的文件中讀取制定的文件做業

-l 查看做業隊列中的帶運行做業列表,等同於atq命令

-c AT_JOB_NUM 獲取待做業任務的詳細內容

-d 刪除指定的命令做業,等同於atrm

batch:

由系統自行選擇在資源空閒時運行指定的任務

crontab:週期性執行任務計劃

守護進程:crond

週期性任務有兩類:

(1)系統cron任務:沒有默認運行用戶身份;因此須要額外指定運行着

/etc/crontab

vim命令

7個字段

前5個字段:時間字段

username:以哪一個用戶身份運行

command:運行那個命令

(2)用戶cron任務:由某個用戶提交,默認就以提交者的身份運行

/var/spool/cron/USERNAME

vim命令:

7個字段

前5個字段:時間字段

username:以哪一個用戶身份運行

command:運行那個命令

5個時間點:

第一個字段分鐘:值域0-59

第二個字段小時:值域0-23

第三個字段日:值域1-31

第四個字段月:值域1-12

第五個字段周:值域0-7

注意:幾月幾日與周幾,不建議同時使用

時間表示法:

數字:表示特定時間點

*:對應時間點有效取值範圍內的每一個時間點

-:一個連續的時間範圍,例如3-7

,:一個離散的時間範圍,例如3,5,7

/:有效時間範圍內每一個多少時間,指定執行頻率

crontab命令

crontab [-u user] -l -r -e

-u user:不是運行本身的cron任務,僅管理員有權限

-l:列出cron任務

-r:刪除cron任務

-e:編輯cron任務


補充性工具:anacron檢查上一次沒有正常運行的cron自動執行

注意:若是不想接收命令運行結果的郵件

COMMAND > /dev/null

COMMADN &> /dev/null

對於crontab文件%有特殊意義須要用轉移符轉義

crontab的PATH變量於用戶環境變量不徹底相同,須要絕對路徑

練習:

一、每週一到週六凌晨3點20分,運行tar命令對/etc目錄進行備份,備份目錄爲/backup/etc-YYYY-MM-DD.tar.xz

二、每週日凌晨2點30分,運行cp命令對/etc/fstab命令進行備份,備份路徑爲/backup/fstab-YYYY-MM-DD-hh-mm-ss

三、天天晚上12點,取得/proc/meminfo文件中全部以s或m開頭的行,追加到/static/meminfo.txt中間以===============爲分隔符。


1.
[root@localhost ~]# crontab -e
20 3 * * 1-6 tar -czvf /backup/etc-$(date '+%F').tar.gz /etc/
2.
[root@localhost ~]# crontab -e
30 2 * * */* cp /etc/fstab /backup/fstab-$(date '+%F-%H-%M-%S')
3.
[root@localhost ~]# crontab -e
0 24 * * * echo "================================================">>/statistics/meminfo.txt && cat /proc/meminfo | grep -E '^S|^M' >> /statistics/meminfo.txt
相關文章
相關標籤/搜索