1. 程式人生 > >延遲任務、定時任務、

延遲任務、定時任務、

1.延遲任務

(1)at命令:
at 時間            #設定在該時刻要進行什麼操作
at now+數字min     #在幾分鐘後要進行什麼操作
at  -l             #檢視該操作的編號(只能檢視到最新建立但又未執行的操作)
at  -c  3          #檢視編號為3要做什麼操做(操作一旦執行便檢視不到了)
at  -r  3          #撤回編號為3的操作
例如:
[[email protected] ~]# at 16:00
at> touch /mnt/file{1..3} #要做的操作
at> <EOT>                 #(按ctrl+d)

注:做以上操作時需開啟一個shell用ssh連線相同的虛擬機器
   用watch -n 1 ls /mnt 來監控,便於觀察現象

在這裡插入圖片描述 在這裡插入圖片描述 在這裡插入圖片描述

(2)白名單和黑名單的指定:

vim   /etc/at.deny      #編輯at配置檔案,指定黑名單(即使用者不能執行at操作)

在這裡插入圖片描述

touch  /etc/at.allow     #建立白名單的配置檔案(系統預設沒有白名單配置檔案。白名單一旦出現,黑名單便會失效,即只有超級使用者能執行at命令)

vim  /etc/at.allow       #編輯at配置檔案,指定白名單,即指定使用者和root使用者才能>執行at操作

在這裡插入圖片描述

2.定時任務

方法一:(crontab命令)

systemctl status crond.service   #檢視定時服務是否開啟
crontab -u root -e               #發起任務
###############
   58    21   *   *   *   /bin/touch  /mnt/file{1..3}
#在每天的21:58在/mnt建立file1 file2 file3

crontab -u root -l     #檢視任務
crontab -u root -r     #刪除所有任務

引數解釋:
  分鐘   小時    天    月   周
   *     *      *     *    *     #每天每分鐘  
  */2   08-17   12    6    3     #6月12日早上8點到下午的5點每隔2分鐘和6月的星期三  即:周和天是獨立的

在這裡插入圖片描述

方法二:(文字的方式)

cd /etc/cron.d       #切換路徑
vim  westos          #名字可隨意取 
###########
* * * * * root touch /mnt/file{1..3}


注:做以上操作時需開啟一個shell用ssh連線相同的虛擬機器
   用watch -n 1 ls -R /mnt -l 來監控,便於觀察現象

在這裡插入圖片描述

白名單和黑名單的指定:

vim /etc/cron.deny       #編輯crontab的配置檔案,指定黑名單(即使用者不能執行crontab操作)   

touch /etc/cron.allow    #建立白名單的配置檔案(系統預設沒有白名單配置檔案。白名單一旦出現,黑名單便會失效,即只有超級使用者能執行at命令)
vim   /etc/cron.allow    #編輯at配置檔案,指定白名單,即指定使用者和root使用者才能執行crontab操作

注意:指定多個使用者時需要換行,即編輯配置檔案時不能寫在一行。

3.對臨時檔案的清理

cd /usr/lib/tmpfiles.d/  
vim westos.conf   #名字可隨便取
############
 d    /mnt/westos    177    root   root   5s
#型別     名稱        許可權    使用者    組    存在時間

systemd-tmpfiles --create /usr/lib/tmpfiles.d/*   #creat 建立
systemd-tmpfiles --clean  /usr/lib/tmpfiles.d/*   #clean 清除

在這裡插入圖片描述