對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 目錄名