1. 程式人生 > >Linux系統之系統延遲和定時機制

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任務命令!!!