IBM小型機日常維護命令

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 重新開關機。如果使用的是雙機系統,則要在兩臺機器上,都要進行重新開關機,時間定成一致。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章