linux系統中的定時任務及延時任務

linux系統中的定時任務及延時任務

目的:解決人不能時時監控,以及遺忘的問題

一、延時任務(at
at time
>
命令
>ctrl d

1.基本用法
at

    -l                 列出延遲任務信息(該命令執行時間之後的延遲任務,不包括執行時間之前的延遲任務

    -r 任務id     刪除此id的任務

    -m              讓無輸出的命令產生郵件

    -M              讓有輸出的命令不產生郵件

    -c 任務id    查看此id延遲任務的執行動作

    -f 文件名    用文件內記錄的命令作爲延遲任務的執行命令

注意:當at下的命令很多時,將其寫入一個文件下,默認情況下只有輸出的命令纔有郵件。

2.實驗1
1)設定時間在/mnttouch一個文件
2)監控/mnt目錄


3)設定在當前時間的1分鐘後刪除該文件
4)刪除此刪除任務的id


5)該文件仍然存在


實驗2
1)查看mail


2)清空mail

根據上圖圈注部分的提示文件位置


3)在該時間之後1min後刪除/mnt/*,查看mail,查看/mnt目錄,下圖可以看出刪除是一個無輸出命令


4)在/mnttouch一個文件後,在該時間之後1min後刪除/mnt/*(加上-m)查看mail,查看/mnt目錄,下圖將無輸出的命令產生郵件



默認情況下系統中用戶都可以使用at命令,所以我們可以使用at命令的黑白名單。
3.at
命令的黑名單
目的:凍結某些用戶的at命令執行權限(默認情況下系統中存在用戶黑名單)
vim /etc/at.deny
student

4.at
命令的白名單(默認系統中中不存在白名單的,當白名單出現,系統中只有root和白名單內用戶可以使用at命令且黑名單失效
touch /etc/at.allow
vim /etc/at.allow
student

即便黑名單的用戶是student,但是當student出現在白名單內,則黑名單不生效。

二、定時任務(cron)
1.cron這個程序是由crond.service服務提供,寫入程序的時間和事件是永久保存的,先保證該服務開啓。


2.設定方式
crontab -e  [-u
用戶名稱 ](可以不寫,默認用當前用戶發起)

crontab -l 列出當前用戶的任務
crontab -r 
刪除當前用戶的任務


內容
分鐘   小時                          用戶   事件
11     11           *          *          *           *                    
每天的1111
11     11        1,15       *           *          *                     
每月1號和151111
11     11        1-15       *          *           *                     
每月的1151111
11     11        1,15       3          *           *                     3
1號和15號的1111
11     11        1,15       3          3           *                    3
1號和15號以及3月的所有周三的1111
11   05-11      *           *           *           *                   
每天早上511點的11
11   05-11      *           *         1-5         *                     
每週一至週三早上5點到11點的11
注意:*表示任意,用戶表示發起該時間的所有人和所有組。A用戶該文件存放位置:/var/spool/cron/A


3.crontab
的黑白名單
默認情況下,系統存在crontab的黑名單,不存在白名單。
① 黑名單
/etc/cron.deny 
在此名單下的用戶不能執行crontab
vim /etc/cron.deny
kiosk         

②白名單
/etc/cron.allow 
當此名單出現,只有root和該名單下的用戶可以執行crontab黑名單不生效
kiosk

4.將命令導入/var/spol/cron/username 或者vim var/spol/cron/username同樣可以設定定時任務 
5.切換到 /etc/cron.d,可以查看該目錄下存在的文件 



該文件的內容同樣是定時任務的設定,同理,我們可以在該目錄下新建一個文件來設定定時任務。
vim /etc/cron.d/filename
或者將該命令導入文件中。該文件的功能就是可以設定多個用戶執行cron
<
> <> <> <> <用戶> <動作>

vim方式


導入命令方式

導入多行命令方式


三、臨時文件的管理
臨時文件的配置文件 /usr/lib/tmpfiles.d/ 以下都是臨時文件的配置文件,必須以.conf結尾


1)創建管理臨時文件的配置文件 vim  /usr/lib/tmpfiles.d/test.conf

下圖腳本中體現了目標目錄,賦予權限,uid和gid,以及生存時間


2)監視腳本中的目標目錄(遞歸查看)

3)該配置文件生效systemd-tmpfiles--create /usr/lib/tmpfiles.d/test.conf


由於該目錄下的文件是臨時文件,且生存週期是10s,則在10s後,文件消失


4)清空該配置文件指向的目標目錄下的文件

systemd-tmpfiles --clean /usr/lib/tmpfiles.d/test.conf

四、分區

硬盤的分區主要分爲基本分區primary partion)和擴充分區(extension partion)兩種,基本分區和擴充分區的數目之和不能大於四個。且基本分區可以馬上被使用但不能再分區。擴充分區必須再進行分區後才能使用,也就是說它必須還要進行二次分區。那麼由擴充分區再分下去的是什麼呢?它就是邏輯分區logical partion),邏輯分區沒有數量上限制。每一個硬盤設備最多能有4個主分區(其中包括擴展分區),構成一個擴展分區都要佔一個主分區號碼,也就是在一個硬盤中,主分區和擴展分區一共最多是4個。

主分區:主分區的作用就是計算機用來進行啓動操作系統的,每一個操作系統的啓動引導程序都應該放在主分區上。

邏輯分區:對於邏輯分區就是必須建立在擴展分區上。

擴展分區:擴展分區能夠提供更靈活的分區方式,但是不能作爲操作系統的引導。

主引導記錄(MBR,Main Boot Record)是位於磁盤最前邊的一段引導(Loader)代碼。它負責磁盤操作系統(DOS)對磁盤進行讀寫時分區合法性的判別、分區引導信息的定位,它由磁盤操作系統(DOS)在對硬盤進行初始化時產生的。



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