2021-05-12 14:32:11
crontab使用詳解和Linux的進程管理以及網路狀態監控
一、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
相關文章