Linux系統之系統延遲和定時機制
一、系統延時
1、at延時:at命令可以指定某一任務在將來的特定時間執行(必須指定時間)
(1)at time :指定某一任務在將來的time時刻進行執行
圖中指定在17:51分執行刪除當前目錄中的所有內容,at中要執行的命令寫好後,按“ctrl + d”退出,圖中2位置!!
在17:51後,當前目錄中的檔案全部被刪除掉了!!!
(2)at -l :列出當前系統中的延時任務及其任務號
上圖中at now+1min表示指定任務的延時時間為當前時間加一分鐘,即當前時間一分鐘後執行!!
執行at -l後,最前面的數字為延時命令的任務號,可以根據任務號進行刪除任務!!
(3)at -r 任務號:刪除未執行的指定任務號的延時任務
刪除任務號為2的任務後,系統中就不再有該延時任務!!!
(4)at -c 任務號:檢視此任務號的延遲任務的執行動作
2、at延時命令的黑白名單
(1)黑名單:at延時命令的黑名單是系統存在的,當在該黑名單中寫入使用者名稱稱,則被寫入的使用者不能執行at命令
注意:黑名單必須由超級使用者設定!!!
命令:vim /etc/at.deny
在黑名單中寫入kiosk使用者後,該使用者在執行at命令時被提示沒有許可權使用at !!!
(2)白名單:at延時命令的白名單存在時,除了白名單中的使用者和root使用者以外,其他使用者不能使用at命令。
注意:預設系統中不存在白名單,需要自己建立,當白名單建立生效後,黑名單則為無效!!!
命令:vim /etc/at.allow
在白名單中寫入kiosk使用者後,黑名單就失效了。此時該使用者可以使用at命令,如上右圖!!!
二、cron(計劃任務)伺服器
1、cron程式是由crond.service提供的,寫入該程式的時間和事件是永久儲存的!!
2.cron設定方式
(1)crontab -e -u 使用者名稱稱(名稱可以不寫)
該命令編寫的內容中,第一列表示分鐘;第二列表示小時;第三、四、五列表示天、月、周,其中*表示每天、每月、每週;
每週後面的內容即為要在這些時間中所有執行的任務。
如上圖第一行表示:在每天的7:00刪除/mnt/westos目錄下的所有內容!!
(2)crontab -l:顯示系統中的計劃任務
(3)crontab -r :刪除系統中的計劃任務
(4)cron任務記錄檔案存放位置:/var/spool/cron/*
3、cron的黑白名單設定
(1)黑名單:黑名單是系統預設存在的,寫入黑名單的使用者將無法執行cron命令
命令:vim /etc/cron.deny
將kiosk使用者寫入黑名單後,當用該使用者執行crontab命令時系統會提示無法沒有許可權執行!!!
而黑名單中沒有westos使用者,所以westos使用者可以執行crontab命令!!
(2)白名單:系統中預設沒有白名單,需要自己建立,白名單建立生效後,黑名單將不再生效!!!
命令:vim /etc/cron.allow
將kiosk使用者寫入白名單後,黑名單則失效,kiosk可以執行crontab命令!!
而westos使用者不在白名單中,其不能執行cron任務命令!!!