http://blog.itpub.net/30633998/viewspace-2122266/
一:開機、關機命令
1、開機
1)在開機之前,先檢查電源是否插好;然後,按下前面板上白色電源開關後,主機會進入硬件自檢和引導階段;
此時,前面板上的液晶會有代碼跳動,每一個代碼表示自檢或引導的不同階段,最後在引導結束時,前面板
液晶上的代碼消失,彩顯或終端上有顯示,進入系統初始化和登錄提示。如果主機停在某一代碼上,引導不
下去 (大於半小時),說明系統可能有故障,請與IPACS 聯繫,並把代碼一起報給我們。
2)系統進入和退出
login: 輸入用戶名(例如:user01)
password: 輸入用戶口令
若用戶名及口令均正確,則用戶將登陸成功。此時系統會出現命令提示符$或#,即表示可接收用戶輸入的操作系統命令。
退出系統:<ctrl+d>或 exit或logout。
例:#(or$)exit
#(or$)Ctrl^D
注,#爲ROOT用戶的命令提示符,$爲一般用戶
2、關機
1)關閉應用程序及數據庫
2)HACMP軟件,先用smit clstop關閉HACMP。
3)命令行打“shutdown -F”進關機,顯示器上出現“Halt Completed”可按下前面板
上白色電源開關,關電源。如果需要關機後重新引導,打“shutdown -Fr”命令。
還可以使用init 6
二、基本定義
1、Physical Volume(PV)
Physical Volume就是指硬盤,在AIX中用hdiskx表示。
7133磁盤陣列中的某個硬盤用pdiskx表示,pdiskx對應的AIX操作系統中Physical Volume用hdiskx表示。
用lspv命令來看一下PV與VG對應關係
用lsdev -Cc disk命令看一下硬盤狀態,Available 表示硬盤可用,Defined 表示物理硬盤找不到,只有邏輯定義。
2、Volume Group(VG)
Volume Group 是由多個Physical Volume組成的集合。
Physical Partition是VG分配空間的最小單位。
AIX操作系統所在的卷組就是rootvg,可用lsvg 查看VG信息,用lsvg -o 查看打開的卷組。
3、Logical Volume(LV)和FileSystem(FS)
Logical Volume和Filesystem是在卷組上劃分的空間,不能跨多個卷組而且只能擴大不能縮小。
Filesystem是在LV上建的,使用時,需mount在AIX某一目錄上。可用lsvg -l VG_Name來看VG 上所有的LV和FS
用 df 命令來看Filesystem 使用情況,用mount命令來看已mount的Filesystem
三、日常系統管理
1. 文件系統是否滿
方法: df –k 可以以K爲單位檢查文件系統的使用率。(90%以上,需要調整)
2. 檢查系統出錯日誌
使用errpt |more來檢查,清除現有的log: Errclear 0
3. 檢查系統合法/非法登陸情況
使用Last命令來檢查來自登陸的地方。
4. 檢查系統是否有巨大的Core文件生成
使用 find / -name core –print來檢查。對Core文件,一般直接刪除就可以了。
5. 系統性能檢查:
a) CPU性能:使用Vmstat, topas來檢查
b) 內存使用情況:也是使用topas, vmstat來檢查
c) 檢查IO平衡使用情況:使用iostat來檢查
d) 交換空間使用情況:使用lsps –a來檢查
6. Mail檢查
7. Diag 一個月一次
補充兩點:
1)硬件檢查,檢查各指示燈狀態和各物理設備的可用情況。
2)進程檢查,檢查是或有死進程。
用who -d 查出一些死進程!
8、AIX通過smit 工具 (smitty是字符界面)來進行系統管理
1)增加修改刪除用戶
smit user
2)增加修改刪除卷組
smit vg
3)增加修改刪除邏輯卷
smit lv
4)增加修改刪除文件系統
smit fs
5)網絡設置和查詢
smit tcpip
Minimal Configuration?
填入IP地址,子網掩碼,網關等參數;?
Start Now改爲Yes
netstat -i / netstat -in 查看網卡interface狀態和參數
6)日常維護
平時需用 df 和 errpt 檢查一下文件系統使用率和有無新的錯誤日誌。如果文件系統使用率大於90%,需擴大該文件系統。
命令行打errpt後,可以顯示類似下列錯誤日誌;
ERROR_IDENTIFIER TIMESTAMP T CL RESOURCE_NAME ERROR_DESCRIPTION
192AC071 0101000070 I 0 errdemon Error logging turned off
0E017ED1 0405131090 P H mem2 Memory failure
9DBCFDEE 0101000070 I 0 errdemon Error logging turned on
038F2580 0405131090 U H scdisk0 UNDETERMINED ERROR
AA8AB241 0405130990 I O OPERATOR OPERATOR NOTIFICATION
其中,TIMESTAMP代表日期,以MMDDhhmmYY格式;如0405131090表示1990年4月5日13時10分
T(Type)一欄中,P表示永久性錯誤,T 表示零時性錯誤,U 表示不能決定是什麼錯誤,I 表示信息而非錯誤。
CL(CLass)一欄中,H表示硬件錯誤,S 表示軟件錯誤,O 表示通知操作員。如果 T(Type)一欄中是P且 CL(CLass)一欄中是H,表示較嚴重錯誤,需跟IBM聯繫。
四:系統備份(僅rootvg備份)
備份是用戶的責任,可用下列步驟備份rootvg,其它數據需另外備份。系統備份要定時做,一般1--2月做一次,
凡rootvg數據有變化(如系統參數修改)要馬上備份。最好用幾合帶子輪流備份。備份帶上要標明備份時間和內容。
1)用root用戶登錄
2)mount rootvg下需備份的文件系統
3)smit mksysb
選擇備份介質?
Expand /tmp filesystem if needed 改爲 Yes
五:診斷
diag
->System Verification
選擇需診斷的硬件設備?
六:常用命令
1、set -o vi 類似PC DOS 中doskey命令,先按ESC鍵再按幾下k鍵,可重現以前打過的命令。
export TERM=vt100/ibm3153/lft 設置終端類型
lsdev -C和lscfg -v 顯示硬件配置
2、df -k文件系統空間使用情況
3、lsvg 列出系統中所有vg的名字
lsvg -o 列出激活vg名字
lsvg vgname列出指定vg的詳細信息
lsvg -l vgname列出指定vg上的lv情況
使一個PV可用:
# chpv –v a PVNAME
4、lsdev -P -H列出AIX支持的設備(即預定義odm數據庫中的設備對象)
lsdev -C 列出AIX支持的設備已定義的odm數據庫中的設備對象
lsdev -Cc xxx列出定製odm數據庫中某個設備對象的信息
例如:
lsdev -Cc disk
lsdev -Cc tape
lscfg列出系統上已安裝的資源的配置信息
lscfg -vl列出某個設備的VPD信息
例如:
lscfg -vl ent1
lscfg -vl hdisk1
lscfg -l xxx\*列出設備的不帶VPD的相關信息
lscfg -l proc\*
lscfg -l hdisk\*
5、修改文件及目錄的屬性
5.1 chmod
例如:
chmod 765 xxx 修改文件xxx屬性爲765
chmod -R 765 XXX 修改目錄xxx及其下子目錄及文件屬性爲765
5.2 chown
例如:chown user:usergroup xxx修改文件xxx的屬主爲user:usergroup
chmod -R user:usergroup xxx 修改目錄xxx及其下子目錄及文件屬主爲user:usergroup
6、系統性能檢測工具
vmstat內存、pagespace、CPU等監測(vmstat 2 10每隔2秒鐘執行一次,共執行10次)
iostat 硬盤I/O監測
netstat網卡監測
topas綜合檢測工具
7、ps進程察看
ps -ef|grep 進程名
例如:
ps -ef|grep sap
ps -ef|grep oracle
ps -ef|grep tsm
ps -ef|grep cluster
8、showmount -e ip
9、lsdev -Cc adapter|grep ent 查看網卡
10、lsdv -Cc if 查看網卡接口
11、查看網絡
ifconfig -a
netstat -in 看網卡IP信息
netstat -rn 路由
lssrc -t telnet
12、ftp服務
lssrc -t ftp
vi /etc/inetd.conf
禁止遠程通過 root 登陸,修改 /etc/security/user 文件,在root選項將 false 作爲 rlogin 的值
13、建立或修改用戶的密碼
password命令用於建立或修改用戶的密碼
如:
#password
passwd: —輸入舊口令
new passwd: —輸入新口令
re-enter new paswd: —重新輸入新口令
14、mkdir、rm、mv和cd命令
1)mkdir :用於創建目錄
$ mkdir oracle
$ ls
oracle
$
2)rm :用於刪除文件或目錄(rm –r 刪除目錄時目錄內有內容,用-r一起刪除)
$ rm -r oracle
$ ls
$
3)mv :用於改變文件或目錄名
$ mkdir ll
$ ls
ll
$ mkdir kk
$ ls
kk ll
$ mv ll kk
$ ls
kk
$ cd kk
$ ls
ll
$
4)cd :用於進入系統某一級目錄中去
$ cd /
$ pwd
/
$ cd /home/oracle
$ pwd
/home/oracle
$
15、顯示目錄中的內容,列出當前目錄中所有文件的文件名
ls
參數說明:
a :列出目錄中所有文件
d :列出所有子目錄
l :列出長格式文件信息
ls –a :列出當前目錄中的所有文件
ls –l :顯示文件的詳細信息
16、顯示當前日期和時間,超級用戶可以進行修改
data
舉例:$ date
Mon Sep 22 10:28:26 BEIST 2003
$
17、計算文件中的行數、字數和字符數
wc
參數說明:
c :計算字符數
l :計算行數
w :計算字數
舉例:
# wc profile
13 53 381 profile
| | |
行數 字數 字符數
18、列出當前系統註冊的用戶
who
舉例:$who am i-- 列出當前系統使用者身份
$ who am i
oracle pts/0 Sep 22 10:17 (192.168.100.79)
$
19、顯示當前登陸到系統中的用戶的信息
finger
舉例:# finger oracle
Login name: oracle
Directory: /usr/oracle/ora90 Shell: /usr/bin/ksh
On since Sep 22 09:05:35 on lft0, 2 hours 2 minutes Idle Time
(messages off)
On since Sep 22 09:05:41 on pts/4, 1 hour 59 minutes Idle Time
from :0.0
No Plan.
#
20、顯示後臺進程的有關信息。單獨使用ps將顯示由當前終端啓動的後臺進程的PID、終端號、進程已執行時間以及啓動該進程的命令
1)語法:ps -options
2)參數說明:
-e :顯示系統內當前運行的所有後臺進程
-f :除ps所提供的信息外,還顯示用戶名、PPID(父進程ID)及啓動時間
-l :除ps所提供的信息外,還顯示 User ID, PPID 和進程優先級
3)舉例:
# ps -ef
21、殺死後臺進程
1)語法:kill -num PID
2)舉例:
kill –9 23094 (-9 是軟件終止進程的信號,是不可忽略的)
22、在一個或多個目錄中查找符合指定條件的文件,顯示文件名或對這些文件進行特定的操作
1)語法:find path expression
2)參數說明:
-type f 文件
d 目錄
-size +n 文件大小超過n blocks(1block=512 bytes)
-n 文件大小小於n blocks
n 文件大小等於n blocks
-mtime +x X天以前被修改的文件
-x X天以內被修改的文件
-perm onum 訪問指定權限的文件(權限以8進製表示)
mode 訪問指定權限的文件(權限以字母表示,如rwx)
-user User 屬於用戶user的文件
-o 邏輯‘或’
3)舉例:
1. find . –name ‘unix’ –print
在當前目錄及其子目錄中查找文件名爲“m*”的所有文件(‘*’是通配符)並顯示文件名
2. find . –name ‘m*’ –exec ls –l {} \;
在當前目錄及其子目錄中查找文件名爲“m*”的所有文件(‘*’是通配符)並顯示詳細的文件列表信息。
-exec 使得find以非交互的方式執行-exec後的命令。‘{}’用於保留find的查找結果,並將其作爲ls –l 的輸入
3. find . –name ‘m*’ –ok rm {} \;
在當前目錄及其子目錄中查找文件名爲“m*”的所有文件(‘*’是通配符)刪除之。-ok 使得find以交互的方式執行-ok後的命令
4. find . -perm 644 -mtime +4 –print
在當前目錄及其子目錄中查找權限爲644、4天以前被修改過的文件
23、在文件或標準輸入中搜索與指定格式相匹配的行
grep
1)語法:grep [options] pattern [file1 file 2..]
2)參數說明:
-v :顯示與指定格式不匹配的行
-c :統計滿足條件的行數
-l :只顯示滿足匹配條件的文件名
-n :顯示滿足條件的行所在的行號
-I :查找時忽略大小寫
-w :做全單詞匹配
3)舉例:
1. grep –v mail .profile
顯示與mail不匹配的行。
2. grep “^a[0-9]z$” filename
在filename中查找以’a’開頭、以’z’結尾、中間包含數字’0’-‘9’的串。
24、vi 編輯器
1)vi簡介
在命令行鍵入vi就可以進入vi的編輯環境。vi 有三種模式:命令模式、文本輸入模式以及命令項模式。
執行vi以後,會先進入命令模式,此時用戶可輸入各種子命令對行進行編輯,如刪除行、拷貝行等。
在文本輸入模式下,用戶可以修改一行的內容並添加新行。在命令模式下鍵入 i、I、a 、A或o等即可
進入文本輸入模式,鍵入ESC鍵即可返回命令模式。在命令項模式下,用戶可以通過子命令輸入更多的參數,
如“/”子命令要求輸入下一個查找項。用戶使用ESC鍵返回命令模式。
2)vi的進入與離開
vi可以在全屏幕方式下編輯一個或多個文件。如果在執行vi時沒有指定文件名,則vi 命令會自動產生
一個無名的空文件。如果指定的文件不存在,則vi將按指定的文件名創建一個新的文件。進入 vi 後屏
幕左方會出現波浪符號,凡是列首有該符號就代表此列目前是空的。要離開 vi 可以在命令模式下
鍵入 :q , :wq 命令則是存檔後再離開(注意冒號)。注意vi並不鎖住所編輯的文件,因此多個
用戶可能同時編輯一個文件,那麼最後保存的文件版本將被保留。
3)vi 的文本輸入模式
使用以下幾種命令可以進入文本輸入模式(用戶在任何時候都可以按ESC鍵返回命令模式):
新增 (append) :
a :從光標所在位置之後開始輸入文本
A :從光標所在行尾開始輸入文本
插入 (insert) :
i :從光標所在位置之前開始輸入文本
I :從光標所在行的第一個非空白字符前面開始輸入文本
開始 (open) :
o :在光標所在行後插入一新行。
O :在光標所在行前插入一新行。
4)文件處理子命令
:q 結束編輯(quit)
如果不想存檔而要放棄編輯過的檔案則用 :q! 強制離開。
:w 存檔(write)
其後可加所要存檔的檔名。 可以將檔案命令合在一起,例如 :wq 即存檔後離開。
zz 功能與 :wq 相同。
:n 開始編輯vi激活的文件列表中的下一個文件。
:n filename 指定被編輯的新的文件。
:e filename 在vi中編輯另一個文件filename。
:e # 開始編輯另一個文件。
:e ! 重新裝入當前文件,如果當前文件有改動,則丟棄以前的改動。
:r filename 將文件filename合併至當前文件的文件尾。
另外值得一提的是 vi 的部份存檔功能。可以用 :n,m w filename 將第 n 行到第 m 行 的文字存放的所指定的 filename 裏去。
七、進行AIX 的日常維護,需要關注哪些日誌文件?
1、core 和 snapcore 由應用產生的 dump 文件, 可用於診斷錯誤 可刪除
nohup.out nohup 命令的輸出結果 可刪除, .xerrors X11的輸出結果 可截短,mbox 用戶郵箱中的郵件 可截短
2、smit.log 和 smit.script 用戶使用smit 命令後的日誌 可適當保留最後1000行,或刪除
3、/var/adm/wtmp 記錄用戶的登錄信息,是二進制文件, 用who 命令來閱讀其內容 根據需要保留60天中有用的內容,其餘刪除
4、/etc/security/failedlogin 記錄用戶失敗的登錄信息,是二進制文件,用who 命令來閱讀其內容 可根據需要保留60天中有用的內容,其餘刪除
5、/var/adm/sulog 用戶使用su 命令的日誌 可根據需要保留60天中有用的內容,其餘刪除
6、/var/adm/cron/log cron的日誌 可截短
7、/var/tmp/snmpd.log snmp 監控進程日誌 可截短
/var/tmp/dpid.log
/var/tmp/dpid2.log
/var/tmp/hostmidb.log
8、/var/tmp/muxatmd snmp 子系統日誌 可截短
9、dead.letter 未成功的郵件 可刪除
10、trcfile trace 實用程序的輸出 可刪除
11、/var/adm/messages 用於記錄syslog進程的日誌 可適當保留最後1000行,或刪除
12、/etc/shutdown.log 系統關機過程日誌,用shutdown -l 命令產生 可適當保留最後1000行,或刪除
八、如何自動殺死UNIX僵死的進程
人保系統的計算機應用,已從單機運行方式過渡到以公司爲中心的集中處理方式,
各縣級支公司通過廣域網、遠程telnet登錄到市公司主機。由於網絡的原因,有些
進程會突然僵死。這些僵死的進程,會消耗系統大量的資源,直接影響機器的正常
運行。爲了實時地、自動地殺死這些僵死的進程,本人編寫了 Shell程序Autokill。
1、Autokill程序腳本
#
# autokill
#
ps -ef | awk ‘{ print $1,$2,$7,$8 }‘ |
awk ‘/[0-9][0-9]:[0-9][0-9]:[1-9][0-9]/ { print $1,$2,$3,$4 }‘ |
awk ‘!/root/ { print "kill -9 " $2}‘ > /tmp/k_kill
chmod 777 /tmp/k_kill
/tmp/k_kill
2、Autokill程序解釋
1)首先,用UNIX 命令 ps -ef 查看進程狀態,通過管道傳送給 awk 進行處理。
在第一個 awk 中,獲取進程的用戶標識(UID)、進程號(PID)、進程佔用CPU時間(Time)、進程執行命令(CMD)四個字段的值。
在第二個awk 中,通過模式匹配,選取所有匹配模式的行。在awk 中,[0-9]匹配0~9中任一個數字,[1-9]匹配1~9中任何一個數字,
連用兩個[0-9][0-9]則匹配一個任意兩位數,因此[0-9][0- 9]:[0-9][0-9]:[1-9][0-9]則匹配 Time時間字段值,查找佔用 CPU
時間超過 10 秒的進程;如果要查找佔用 CPU 時間超過半小時的進程,則把模式改成 [0-9][0-9]:[3-9][0-9]:[0-9][0-9]。
在第三個 awk 中,用 “!/root/ ”過濾掉由 Root用戶生成的進程,並進行Shell語言拼裝,並將最終結果定向到文件 /tmp/k_kill。
在 /tmp/k_kill 文件中,都是形如 kill -9 123 的Shell命令。
2)在Autokill程序的最後,執行 /tmp/k_kill 殺死進程。
3、查看中間結果
1)Autokill程序採用了管道處理方式,如要查看中間結果,則可以依次斷開管道。
第一步執行:ps -ef
第二步執行:ps -ef | awk ‘{ print $1,$2,$7,$8 }‘
第三步執行:ps -ef | awk ‘{ print $1,$2,$7,$8 }‘ |
awk ‘/[0-9][0-9]:[0-9][0-9]:[1-9][0-9]/ { print $1,$2,$3,$4 }‘
第四步執行:ps -ef | awk ‘{ print $1,$2,$7,$8 }‘ |
awk ‘/[0-9][0-9]:[0-9][0-9]:[1-9][0-9]/ { print $1,$2,$3,$4 }‘ |
awk ‘!/root/ { print "kill -9 " $2}‘ > /tmp/k_kill
2)最終查看 /tmp/k_kill 文件。
4、再有,如只想自動殺死由某一用戶執行的進程(如jdc3206),只要將模式“!/root/”改成 “/jdc3206/”即可;
如只想殺死執行某一命令的進程(如 xinmu ),只要將模式“!/root/” 改成“/xinmu/”即可。
最後用 crontab -e 增加一個 cron 作業。
0,30 * * * * /tmp/autokill
5、Kill命令失靈怎麼辦
經過以上步驟,系統每隔半小時執行一次/tmp/autokill。但在UNIX系統中,有些僵死的進程會莫名其妙地不能用 Kill 命令殺死,
這就需要重新引導機器,一方面清除系統垃圾,另一方面需要對資源重新分配。採用中心運行模式,機器不能隨意開關機,
總要等到夜晚沒有用戶使用機器時,才能重新開關機。爲此編寫一個Shell程序,讓機器自動開關機。
以下是Autoreboot 程序腳本。
#
# autoreboot
#
PATH=/bin:/etc:/usr/bin:/tcb/bin:/usr/informix/bin
INFORMIXDIR=/usr/informix
INFORMIXSERVER=da3206a
ONCONFIG=onconfig.yca
export PATH INFORMIXDIR INFORMIXSERVER ONCONFIG
onmode -ky
sync
sync
reboot
Autoreboot程序前 5 行,是設置 Informix系統環境,命令 onmode -ky 是關閉 Informix Online數據庫,
命令 sync 是UNIX 文件系統超級塊回寫,命令 reboot 是UNIX 系統中的系統重新啓動命令。
用 crontab -e 命令,增加一行 cron 作業30 6 * * * /tmp/auto_boot。
該命令使系統每天6:30 重新開關機。如果使用的是雙機系統,則要在兩臺機器上,都要進行重新開關機,時間定成一致。