IBM小型机日常维护命令

来源:互联网 发布:js中offsetwidth 编辑:程序博客网 时间:2024/04/30 11:13

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 重新开关机。如果使用的是双机系统,则要在两台机器上,都要进行重新开关机,时间定成一致。


0 0
原创粉丝点击