天天看點

19.Linux系統管理

對Linux系統進行的常用的管理工作,系統啟動和服務管理、程序管理、自動任務管理、日志管理和存儲管理等

1、 系統啟動過程與運作級别

Linux啟動過程

A進行硬體自檢POST,然後讀取0-0-1(0柱面0磁道第一個扇區)的MBR中的引導程式并加載

B啟動引導程式負責引導磁盤分區中的OS,引導磁盤分區中的OS啟動,加載Linux核心程式

C核心程式負責OS啟動的前期工作,并加載系統的第一個程序INIT程序

D系統中第一個程序是INIT程序,該程序根據其配置檔案執行相應的啟動程式,并進入到相應的啟動級别

E在不同的運作級别中,根據系統的設定啟動相應的服務

F啟動過程的最後将運作控制台程式,其實使用者輸入帳号和密碼進行登入

運作級别:是0-6,共7個運作級别

0:關機,建議系統預設的運作級别不要設為0,否則系統不能正常啟動

1:單使用者模式:隻允許root使用者對系統進行維護

2:多使用者模式:不加載網卡,不能使用NFS

3:完全多使用者模式:字元界面的工作模式

4:未配置設定使用

5:圖形界面的多使用者模式,運作視窗程式,允許在圖形界面下進行操作

6:重新開機:不要把預設運作級别設定為6

顯示和改變運作級别

#runlevel  顯示目前和上一個運作級别    “N”為為不存在上一個運作級别

#init 運作級别    改變運作級别

可使用指令:

#init 0   關機

#init 6    重新開機

檢視和設定各運作級别的服務狀态(啟動是随着系統的啟動而運作)

#chkconfig --list  服務名  檢視某一個服務的啟動狀态(直接回車是檢視所有服務的啟動狀态)

#chkconfig –level 運作級别  服務名  on/off  設定某個獨立服務服務在哪些運作級别下是啟動還是關閉

對于受xinetd管理的服務(超級網絡服務),不存在某個運作級别啟動狀态,設定時無需指定運作級别

#chkconfig –list 服務名     檢視某個服務的狀态

#chkconfig 服務名 on/off     設定某個服務的狀态

注意:設定了某個服務的啟動後,還需要xinetd服務啟動才生效,設定xinetd啟動

#service xinetd restart

也可使用指令

#ntsys   回車後,使用空格在出現的視窗中進行服務狀态的選擇

系統初始化程序:

Linux系統第一個程序是INIT程序,程序号PID永遠為1,系統啟動會安裝其配置檔案内容引導其他程式。INIT的配置檔案是/etc/inittab,解析此檔案:

每一行内容的格式:id:runlevel:action:process。确定某個程序在哪些運作級别下以何種方式來運作

Id字段:辨別一個在inittab檔案中唯一的配置記錄,由1-4個字元組成

Runlevel字段:指定該記錄在哪些運作級别中運作,可以是單個,也可以是多個級别

Action字段:描述記錄将執行哪種類型的動作,常見的有initdefault(系統啟動預設進入的級别)、sysinit(指定後面的腳本在其他程序之前運作)、wait(init程序将等待wait後程式的運作結束)、ctraaltdel(使用此組合鍵進行重新開機操作)powerfail(當UPS發來斷電信号時系統運作的指令,此指令指定供電恢複時運作的指令)、respawn(後面的程序結束後會重新運作)

Process字段:是啟動程序所執行的指令

系統初始化腳本:

Linux系統中,inittab檔案中指定rc.sysinit作為系統的初始化腳本,rc.sysinit儲存在/etc/rc.d/下,系統啟動時被調用執行,完成系統初始化的工作。Rc.local腳本同樣儲存在/etc/rc.d/目錄下,在rc.sysinit執行完後執行,系統管理者可以把自定義的指令儲存于此

2、 程序類管理指令

什麼是程序:程式是儲存在存儲媒體中的可執行機器代碼和資料的集合,程序是在計算機處理器(CPU)執行中的計算機程式。兩者關系:

A程式是儲存在外存中的可執行代碼和資料,是靜态儲存的資料

B程序是程式代碼在處理器中的運作,是動态執行的代碼

C作業系統執行程式時,将程式代碼有外存讀取到記憶體中,駐留在記憶體中的程式代碼作為程序動态的執行

D對Linux來說是個多程序OS,每個程式啟動會建立一個或多個程序,與其他程序共同運作在Linux核心空間,每個程序是一個獨立的任務,依據規則被CPU交替執行。每個單獨的程序運作在自己的虛拟位址空間,并且隻能通過安全的核心管理機制與其他程序互動

程序檢視:

使用ps指令:是一個靜态檢視指令

#ps aux 檢視系統中包含系統程序和使用者程序在内的所有程序

#ps –ef  可以檢視父程序

使用top指令:可以動态顯示系統狀态和定時重新整理,平時使用最對,但是占用系統資源。顯示包括CPU、記憶體占用情況、程序清單和每一個程序的運作狀态等,在其界面中可以修改程序優先級,停止某個程序,按照對CPU和記憶體占用排序等

使用pstree指令:使用樹形結構來檢視程序

程序控制:手工啟動(直接執行一個指令)和排程啟動(事先設定,自動啟動)

手工啟動:

前台運作:直接執行一個指令,可以啟動一個或多個程序

背景運作:在執行指令時,在後面添加“&”符号,不占用操作視窗。對于在前台運作的程序,可以使用“CTRL+Z”來調入背景運作。檢視背景運作的程序使用指令:#jobs ,也可以使用指令把背景程序調入到前台運作: #fg 背景程序編号

排程啟動:使用at指令和crontab指令

at指令指定某個時間一次性在系統中運作

crontab指令可以指定周期性運作的任務計劃

#at –t MMDDhhmm   回車後寫入要執行的指令,完成後使用Ctrl+D結束指令輸入。MMDDhhmm是月份、日期、小時、分鐘

#at 時間   今天或者明天執行的計劃

#atq   查詢還沒有執行的at計劃任務

#atrm  任務号   删除對應任務号的計劃任務

終止指令運作:可使用“CTRL+C”組合鍵強制目前終端中運作的指令,如果無法正常終止,可使用指令先檢視此程序的PID,然後使用指令

#kill -9 PID   強制結束此程序的運作

3、 系統任務的定時運作。crontab指令

軟體包組成:vixie-cron軟體包,此軟體包預設是安裝的,使用指令:

#rpm –q vixie-cron         檢視軟體包安裝

還包括軟體包“crontabs”軟體包,實作對Linux系統的定時任務管理

Cron服務的啟動和停止:cron服務的守護程序是crond

查詢crond服務狀态

#service crond status

停止和啟動crond服務

#service crond stop

#service crond start

#service crond restart

設定其開機運作狀态

#chkconfig --list crond

#chkconfig --level 35 crond on

Cron任務的格式:

   運作時間  command(運作的指令)

   如:01 08 * * * date

運作時間:分鐘(0-59)小時(0-23)天(1-31)月(1-12)周(0-7,0和7代表周日)

設定任務計劃(使用者自定義任務計劃)

所有使用者的自定義的任務計劃都儲存在/var/spool/cron目錄中,以使用者名起名的目錄

檢視任務計劃:

#crontab –l  檢視目前的cron任務清單

編輯任務計劃:有兩種方法

A 覆寫原有的cron任務,隻存在目前設定的任務

#crontab    直接回車,然後輸入時間和指令,使用“CTRL+D”結束輸入

B 調用vi編輯器對cron任務進行編輯

#crontab –e    調用vi編輯器進行編輯

作為網絡管理者可以對其他使用者設定任務計劃

#crontab –e  使用者名   

cron任務的删除

#crontab –r 删除使用者現有的cron任務

Cron的相關檔案

系統設定的任務計劃,儲存在“/etc/crontab”中,crond程序每分鐘都檢查/etc/crontab檔案、/etc/cron.d/目錄以及/var/spool/cron/目錄的改變,發現更改,載入記憶體運作

解析系統任務配置檔案/etc/crontab

SHELL:設定cron使用的shell環境

PATH:執行指令時的搜尋路徑

MAILTO:發送郵件給使用者

HOME:執行指令時使用的主目錄

其中有每小時、每天、每周、每月的任務,分别儲存在:/etc/目錄中,檔案名是cron.hourly、cron.daily、cron.weekly、cron.monthly

幫助檔案,可檢視vixie-cron軟體包的檔案清單中的幫助資訊

4、 日志管理

功能:記錄Linux系統中的消息的檔案,不同的日志檔案記錄不同的内容

日志檔案存放位置:都放在/var/log/目錄中,對于大型的服務程式可以在/var/log/下建立子目錄來存放自己的日志檔案

分類:兩大類

A應用程式獨立管理的日志檔案,隻管理自己的日志檔案,格式不統一和固定

B受syslogd統一管理的日志檔案,有相同的格式。此服務的配置檔案是/etc/syslog.conf,都是系統中重要的日志檔案

日志檔案分析:

日志檔案是純文字檔案,每一行一個消息,使用more或less指令檢視,使用grep指令過濾查找

每一行有4個字段組成

A時間标簽:消息發出的日期和時間

B主機名:生成消息的計算機名

C生成消息的子系統的名稱

D消息:消息的内容

5、 存儲與備份管理

磁盤配額

在Linux中,即可以針對使用者做配額,也可以針對組設定配額;還可以從使用者占用磁盤空間大小和擁有的檔案數量來進行,系統根據檔案的屬主和屬組來判斷。使用軟體包是quota,可使用指令#rpm –q quota查詢

軟限制和硬限制:

軟限制:使用者在檔案系統中可擁有的最大吸盤空間和最多檔案數量,在某個寬限其内可以暫時超過這個限制

硬限制:使用者擁有的磁盤空間和檔案數量,絕對不允許超過這個限制

使用者限制群組限制

使用者限制:對指定使用者的磁盤空間限制和檔案數量限制,隻對該使用者生效

組限制:指定使用者組的磁盤空間限制和檔案數量限制,配額對組中的所有使用者生效

設定配額的步驟:

A修改“/etc/fatab”檔案

針對要設定配額的分區添加使用者限制群組限制的選項:usrquota和grpquota

B重新挂載檔案系統

可以使用指令:#mount –o remount 分區

也可以重新啟動生效

C建立配額檔案

使用指令:

#quotacheck –cmug  分區

或者#quotacheck –cmugf  分區    強制檢查分區和建立檔案

選項中的“u”是針對使用者生成檔案,“g”是針對組生成檔案,不一定兩者都設定,根據需要選擇,“m”是重新挂載檔案系統,“c”建立配額檔案

D啟用配額

#quotaon  分區

E設定配額

針對使用者

#edquota –u 使用者名   -u可省略

針對組

#edquota –g組名

對使用者進行檔案數量的限制不實用

檢視配額

#quota –u 使用者名

#quota –g  組名

#repquota  分區      顯示此分區針對每個使用者的配額設定

檔案的歸檔和備份

Tar指令介紹

A檔案和目錄進行歸檔

#tar cf 生成的tar檔案名 需要備份的檔案或目錄名

c是建立檔案,f後指定檔案名。為明确檔案類型,歸檔檔案以.tar為字尾

對檔案和目錄進行壓縮備份

#tar czf 生成的tar.gz檔案名 需要備份的檔案或目錄名

z是對歸檔檔案進行壓縮

B檢視歸檔中的檔案清單

檢視tar歸檔檔案中的檔案或目錄清單

#tar tf tar檔案名

t是檢視歸檔檔案中的檔案清單

檢視壓縮歸檔檔案中的檔案或目錄清單

#tar tzf tar.gz檔案名

C使用tar指令恢複歸檔檔案

恢複tar備份檔案

#tar xf tar檔案名

x是表示釋放歸檔檔案

恢複壓縮的tar備份檔案

#tar xzf tar.gz檔案名

恢複歸檔檔案到指定目錄

#tar xf tar檔案名  -C  目錄名

#tar zxf tar.gz檔案名  -C  目錄名

繼續閱讀