天天看點

linux系統引導,管理程序,計劃任務

linux系統引導,管理程序,計劃任務

先了解下linux的引導流程:

開機自檢-------MBR引導--------GRUB引導--------加載linux核心--------加載init程序初始化

開機自檢:即BIOS 對硬體進行檢查

MBR引導:根據硬碟第一個扇區裡的MBR(master Boot Record 主引導記錄)設定,将系統控制權交給包含作業系統引導檔案的分區,或者直接根據MBR裡記錄的引導性能系調用啟動菜單(如GRUB)

GRUB引導:顯示啟動菜單給使用者,加載linux核心,然後将控制權交給核心

加載核心:啟動作業系統(linux預設核心檔案為 /boot/vmlinuz-xxxxxxx)

INIT程序:初始化作業系統--------讀取/etc/inittab,根據其内容首先執行/etc/rc.d/rc.sysinit,并通過/etc/rc.d/rc腳本來決定啟動那些服務和程序,最後運作終端程式/sbin/mingetty,等待使用者登入(登入過程由/bin/login 程式負責驗證)

系統初始化程序檔案:

init程序:第一個啟動的程序,是以PID(程序ID)永遠為1

/etc/inittab:裡面的配置文本每行基本格式如:四個字段,:号分隔意思為:

标記:運作級别:動作:程式或腳本

runlevels運作級别:

0:關機狀态

1:單使用者模式

2:字元界面多使用者模式(不支援網絡)

3:字元界面多使用者模式(完整模式)

4:未配置設定模式

5:圖形界面模式

6:重新啟動

action---動作類型:

initdefault:設定系統預設運作級别

sysinit: 設定系統初始化的操作腳本

wait: init程序等待此行的配置完成後,在往下進行

ctrlaltdel: 設定使用者按CTRL+ALT+Delete組合鍵的操作

powerfail: 設定斷電(使用不間斷電源)時采取的動作

powerwait: 設定恢複供電時才去的動作

repawn: 一旦該行的配置對應的程序被終止,立即重新開機該程序

process: 程式或腳本字段

/etc/rc.d/rc.sysinitinit程序所調用的系統初始化腳本,主要設定網絡,主機名,加載檔案系統,設定時鐘等(如啟用磁盤配額功能就在該腳本中運作)

/etc/rc.d/rc 通過制定不同的級别參數來加載及終止不同的系統服務

/etc/rc.d/rcX.d/ 在/etc/rc.d/下有/ect/rc.d/rc0.d------到------/etc/rc.d/rc6.d/ 7個目錄,都被/etc/rc.d/rc所調用,這些目錄裡記錄了在以自己檔案名(0---6)啟動的系統級别時,所要運作的一些系統服務,其中以S開頭表示運作,以K開頭表示終止,中間的數字表示啟動或者終止服務的執行順序,目錄中的檔案連結了/etc/rc.d/init.d/目錄中的原始服務啟動腳本

/etc/rc.d/init.d/ 裡面的系統服務腳本都可直接執行,如start reload stop restart 等,也可用service調用

service httpd start 啟動http服務

關于服務:能終止不殺死

能加載不重新開機

/etc/rc.d/rc.local/ 一個額外的系統啟動控制檔案,主要為管理者自行設定啟動指令提供了一種途徑

運作級别控制:

runlevel顯示系統運作級别,如之前未切換過運作級别,第一列将顯示“N”

linux系統引導,管理程式,計劃任務

init用于設定系統的運作級别

init 3 進入字元界面的完整模式

init 0 關機

init 6 重新開機

設定系統服務在不同運作級别中的狀态:

ntsysv調出一個互動式界面,用于集中配置系統服務的啟動狀态

ntsysv --level 35 同時對運作級别3,5 進行系統服務啟動狀态的設定

linux系統引導,管理程式,計劃任務

星号選中為開機啟動,為空是開機不啟動 F1 獲得該服務的詳細說明

chkconifg與ntsysv功能類似,對單一的服務設定較友善

--list 顯示所有服務的所有運作狀态(後跟服務名則顯示這一個服務狀态)

--level 35 服務名 on/off 在運作級别35中開啟或關閉該服務

缺少—level 35 選項時,預設在2345中都設定

linux系統引導,管理程式,計劃任務

程序管理>>

檢視程序:

ps檢視靜态程序的統計資訊

-a 顯示目前終端所有程序,包括其他使用者程序,與-x 結合用,将顯示系統中所有程序資訊

-u 使用以使用者名為主的格式輸出資訊

-x 顯示目前使用者在所有終端下的程序資訊

-e 顯示系統内所有程序資訊

-l 以長格式顯示

-f 使用完整格式顯示

linux系統引導,管理程式,計劃任務

各個字段的含義:

USER:啟動該程序的使用者賬号

PID:該程序在系統的ID号(唯一的)

%CPU:該程序占用的CPU(百分比)

%MEM 該程序占用的記憶體百分比

VSZ:占用的虛拟記憶體

RSS:占用的實體記憶體

TTY:在哪個終端運作(?表示未知或不需要終端)

SATA: 程序的狀态(S表示休眠,R表示運作,Z表示僵死,<表示高優先級,N表示低優先級,s表示父程序,+ 表示前台運作)

START: 開始時間

TIME:占用的CPU時間

COMMAND:啟動該程序的指令的名稱

top 檢視程序的動态資訊(預設3秒重新整理一次)

linux系統引導,管理程式,計劃任務

按P:根據CPU占用情況對程序清單進行排序

M:根據記憶體占用情況對程序清單進行排序

N:根據啟動時間排序

h: 獲得幫助

q: 退出

k:殺死某一程序

pgrep查詢特定程序的資訊

-U 針對某個使用者查詢

-t 針對某個終端查詢

-l 同時列出對應的程序名

linux系統引導,管理程式,計劃任務
linux系統引導,管理程式,計劃任務

pstree檢視程序樹

-p 同時列出對應的PID

-u 列出對用的使用者名

-a 列出完整的指令資訊

linux系統引導,管理程式,計劃任務

檢視到了luojunyong使用者現在的操作,及對應PID

程序背景運作:

有些耗時的程序,我們可以放在背景運作,而不影響我們的繼續工作,我們可以加”&”号來改變程序的運作方式,如,cp–avf /media/ ./ &這樣這個任務就在背景運作了

有時要用nohup指令表示不再終端螢幕上顯示

linux系統引導,管理程式,計劃任務
linux系統引導,管理程式,計劃任務

jobs幫助我們看到正在運作的程序 jobs –l 連同PID一同顯示出來

linux系統引導,管理程式,計劃任務

終止程序:

kill 終止程序

-9 強制殺死

killall終止系統中多個形同名字的程序時用此很友善

pkill根據各種屬性來終止程序

-U 指定使用者

-t 指定終端

linux系統引導,管理程式,計劃任務

killall殺同名程序

linux系統引導,管理程式,計劃任務
linux系統引導,管理程式,計劃任務
linux系統引導,管理程式,計劃任務

已經無程序了,pkill可以根據各種情況來選擇性的殺死

計劃任務管理

at 一次性計劃任務

首先包證atd服務的運作

linux系統引導,管理程式,計劃任務

确定現在的時間并加一個計劃任務:

linux系統引導,管理程式,計劃任務

最後按CTRL+D 來送出

linux系統引導,管理程式,計劃任務

可以看出已經執行了

atq查詢目前系統中的任務清單

atrm删除目前系統中的任務清單

我們也可用 at now+5minutes 五分鐘後

at now+5hours 五小時後

at now+5days 五天後

at now+5weeks 五周後

at noon 中午12點

at midnight 晚上零點

at teatime 下午4點(下午茶)

等來指定任務計劃

linux系統引導,管理程式,計劃任務

上圖在午夜零點檢視記憶體狀态并記錄

在3小時後檢視CPU狀态并記錄

檢視任務清單

删除一個代号為3的計劃任務

在次檢視時,已經就剩一個任務計劃了

列隊裡能檢視具體内容:

linux系統引導,管理程式,計劃任務
linux系統引導,管理程式,計劃任務

crontab周期性任務設定

確定服務運作狀态:

linux系統引導,管理程式,計劃任務

配置檔案:

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

linux系統引導,管理程式,計劃任務

上面為每行為:

腳本用的shell類型

執行路徑

任務輸出資訊發送到指定使用者信箱

執行任務計劃時所使用的主目錄

藍色字型為範例:告訴我們格式應該寫成:分時天月周指令或腳本

/etc/cron*

linux系統引導,管理程式,計劃任務

上面的目錄分别放入我們指定的任務腳本到每天,每月,每小時,每星期各個目中去

/var/spool/cron/*

cron任務将被儲存在上個目錄,檔案名與對應的使用者賬号同名

crond程序會每分鐘都會檢查/etc/crontab /etc/cron.d /var/spool/cron/ 目錄,若發現有變更,他們就會被載入記憶體,是以添加任務計劃後并不需要重新開機crond服務

crontab管理使用者的計劃任務

-e 編輯計劃任務清單

-u 指定管理的計劃任務屬于哪個使用者,預設隻針對目前使用者(自己) (root權限)

-l 清單顯示計劃任務

-r 删除計劃任務

linux系統引導,管理程式,計劃任務

上面為沒到星期天的晚上8點零1分則執行後面的指令

符号 * 表示取值範圍中的任意時間

“-”減号表示一個連續範圍

“,”逗号表示一個間斷的不連續範圍

“/”斜杠表示時間頻率如 */3 表示每隔 3

來做一個案例:

每天早上7:30自動開啟sshd服務,22點50時關閉sshd服務

每隔五天清空一次FTP伺服器公共目錄/var/ftp/pub/中的資料

每周六的7:30時重新開機系統中的http服務

每周一周三周五的下午17:30 ,使用tar指令自動備份/etv/httpd目錄

linux系統引導,管理程式,計劃任務

檢視指定使用者的任務計劃:

linux系統引導,管理程式,計劃任務

通過隊列檢視:

linux系統引導,管理程式,計劃任務

删除指定使用者的任務計劃

linux系統引導,管理程式,計劃任務
linux系統引導,管理程式,計劃任務

删除後,任務計劃清單為空

本文檔完畢!!!

繼續閱讀