首頁 > 軟體

crontab使用詳解和Linux的進程管理以及網路狀態監控

2020-06-16 17:04:59

一、crontab使用詳解

  •  概述:任務排程:是指系統在某個時間執行的特定的命令或程式。

任務排程分類:

      (1)系統工作:有些重要的工作必須周而 復始地執行。

      (2)個別使用者工作:個別使用者可能希望執 行某些程式。

使用場景:資料庫的備份問題,要麼手動備份,而且不能白天備份。一般備份資料庫的時候往往需要把資料庫關閉,因為一遍備份,一遍寫的時候很容易造成資料庫的備份,熱備份MySQL也支援,但一般使用冷備份。這時就需要使用任務排程。

  在不使用crontab時,我想把當前的時間儲存到一個檔案中該如何做?

   

  是不是很簡單,好了,在講解如何使用crontab時,我們先來看看張圖(感謝這位前輩的圖示),因為這張圖可以搞定一切:

  

  

 

  如果想深入了解的話,可以參考

crontab中新增定時指令碼不生效的原因 http://www.linuxidc.com/Linux/2017-02/140237.htm

Linux中利用crontab建立計劃任務 http://www.linuxidc.com/https://www.linuxidc.com/Linux/2013-06/86401.htm

Linux定時任務Crontab命令詳解  http://www.linuxidc.com/Linux/2015-10/124478.htm

Linux crontab不執行問題排查 http://www.linuxidc.com/https://www.linuxidc.com/Linux/2013-06/85432.htm

Ubuntu使用crontab定時任務 http://www.linuxidc.com/https://www.linuxidc.com/Linux/2013-05/84770.htm

Linux計劃任務(at batch crontab anacron) http://www.linuxidc.com/https://www.linuxidc.com/Linux/2013-03/81584.htm

備份crontab的實用指令碼 http://www.linuxidc.com/Linux/2017-02/140447.htm

Linux任務計劃 (at,crontab) http://www.linuxidc.com/Linux/2015-09/122970.htm

  • 如何使用crontab(排程一個任務)

    (1)設定任務:crontab -e

    

    

    遇到這個問題不要慌,這個問題我找了很多解決方案都不行,最後還是老外的一篇文章解救了我。首先執行下面的命令:

    

    選擇好crontab的編輯器(這裡我選3)回車即可。再輸入一下命令:

    

    如果出現這個介面上面已經成功了!

    

    操作和vi編輯器一樣,輸入下面的命令:每分鐘記錄下當前時間,並寫入到mydate2檔案中。

    

    寫完之後輸入:wq即可儲存,如果出現下面的資訊,上面排程任務已經起作用了:

    

    如果想檢視root使用者有哪些排程任務,可以使用:crontab -u root -l進行檢視。

    

 

    (2)每隔一定時間(每分鐘)去執行 date > /home/gz/mydate   (這個命令前面已經講過了,如果忘了回去複習一下)

    

     

     好了,大家可以嘗試一下,如果遇到問題,可以在評論區提出來,我幫你看看。

     注意:crontab中是沒辦法精確到秒的,只能精確到分鐘。

  • 排程多個任務

    1)在crontab -e 中直接寫.(不推薦)

    大家可以試試,我在這裡就不試了。

    2)可以把所有的任務,寫入到一個可執行檔案(shell程式設計)(推薦)

     首先編寫:mytask.sh(注意:shell程式設計的檔案字尾為 .sh)

    

    大家發現沒有:這個檔案是沒有可執行的許可權的,忘了到前面複習一下,所以接下來我們要改變該檔案的許可權。

    

    然後編寫:crontab

    

    

    儲存並退出:

    

 

    意思是:每分鐘都會執行該shell指令碼裡面的命令。

    檢測:是否mydate3在root目錄下面。

    

    

 

    

  •  如何終止任務

    命令:conrtab –r:終止任務排程。(建議小心使用,最好是注釋掉)

    好了,crontab講到這裡就完了,希望對你有幫助,進入下一個主題的講解。

    

二、Linux的進程管理

   (1)概述:

      進程:進程就是正在執行的程式

      執行緒:(1)輕量級的進程。(2)進程有獨立的地址空間,執行緒沒有。(3)執行緒不能獨立存在,它是由進程建立.(fork) Thread。(4)相對講,執行緒耗費的cpu,和記憶體小於進程。

  (2)在LINUX中,每個執行的程式都稱為一個進程。每一個 進程都分配一個ID號;每個進程都可能以兩種方式存在的。前台與後台,所 謂前台進程就是使用者目前的螢幕上可以進行操作的。 後台進程則是實際在操作,但由於螢幕上無法看到的進程, 通常使用後台方式執行;一般系統的服務都是以後台進程的方式存在,而且都會 常駐在系統中。直到關機才才結束。

  如何檢視目前系統中,有哪些正在執行,以及它 們執行的狀況?

  命令:ps -aux | more

  

  解釋:user:進程的名字;PID:進程的ID; %CPU:進程佔用的CPU;%MEM:進程佔用的記憶體;VSZ:虛擬記憶體;

  RSS:實體記憶體;中PID為1的是所有進程的父進程。

  如何終止進程:若是某個進程執行一半需要停止時,或是已消了很大的系 統資源時,此時可以考慮停止該進程。使用kill命令來完 成此項任務。

  命令:kill 3051(這個命令有點溫柔,不一定能殺死該進程(bash))

  如果要強制殺死,可以用:kill -9 3051   (嘗試一下是不是有點被踢出群的感覺(#^.^#))

  補充:

  kill -9 3051   :因為有些進程會捕捉某 些信號,如果直接不能結束進程可以用“-9” 傳送資訊。

  killall:會殺掉該進程下面的所有的子進程。

更多詳情見請繼續閱讀下一頁的精彩內容http://www.linuxidc.com/Linux/2017-10/147459p2.htm


IT145.com E-mail:sddin#qq.com