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

1.linxu任務計劃:

任務計劃:

在未來時間點執行一次任務:at,batch

週期性執行任務:crontab

電子郵件服務:

smtp:simple mail transmission protocol

/var/spool/mail/USERNAME 個人郵件緩衝目錄

pop3:post office protocol

imap4:internet mail access protocol

MUA:mail命令

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變量於用戶環境變量不完全相同,需要絕對路徑

練習:

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

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

3、每天晚上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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章