cdchenli 发表于 2018-8-28 12:58:34

常用的监测系统状态shell脚本

  #!/bin/bash
  ###############################
  #   系统状况分析脚本      #
  #                           #
  #用途:对系统CPU使用率、内存、#
  #网络连接、磁盘空间、系统进程 #
  #交易数量以及交易日志进行分析 #
  #适用操作系统:Linux          #
  #版本:1.0                  #
  #                           #
  ###############################
  #-----设置文件参数-----------------
  FTPip=192.168.0.100
  FTPuser=
  FTPpasswd=
  FTPdir=
  #----设置系统名称
  SYSNAME="SYSNAME"
  #-----日期变量--------
  DATE=`date +%Y%m%d_%H%M`
  #------日志文件存放地点,请根据系统目录进行修改-------
  #logfile=/root/checklog/tmp/chksts.log.$YESTERDAY
  #logfile=/root/checklog/tmp/chksts_JZTH_122.log.$Date2
  MYLOGPATH=`pwd`
  logfile=$MYLOGPATH/chk_linux_$DATE.log
  #-----检查系统时间-----------------
  date +%Y-%m-%d> $logfile
  #####################################################
  #####################################################
  chksysname(){
  #-----系统名称------------
  echo -e "\n系统名称:$SYSNAME" >> $logfile
  }
  chksysversion(){
  #-----操作系统版本--------
  echo -e "\n操作系统版本" >> $logfile
  lsb_release -a>> $logfile
  }
  chkpcversion(){
  #----服务器型号--------
  echo -e "\n服务器型号"   >> $logfile
  dmidecode | grep Product>> $logfile
  }
  chkip(){
  #-----系统ip地址----------------
  echo -e "\n系统ip地址:"`ifconfig eth0 |grep 'inet addr' |awk '{print $2}' |awk-F":"'{print $2}'` >> $logfile
  }
  chkcpu(){
  #-------检查系统CPU使用率--------
  echo -e "\n--------------系统CPU使用率检查-------------- " >> $logfile
  vmstat | awk 'BEGIN {print "用户CPU使用率系统CPU使用率系统空闲CPU率"} {if($14>=0&&$14=0&&$4=0&&$4'>> $logfile
  }
  chkjava(){
  #-----检查系统进程----------
  echo -e "\n-------------java进程检查--------------\n" >> $logfile
  ps -ef| grep java >> $logfile
  }
  chksrv(){
  #-----交行影像提回系统服务器检查---------------
  echo -e "\n-------------srv进程检查--------------\n" >> $logfile
  ps -ef| grep srv >> $logfile
  }
  chkmysql(){
  echo -e "\n-------------mysql进程检查--------------\n" >> $logfile
  ps -ef| grep mysql >> $logfile
  service mysqld status>> $logfile
  }
  chkoracle(){
  #-----检查oracle状态----------
  echo -e "\n-------------oracle状态检查--------------\n" >> $logfile
  su - oracle -c "lsnrctl status" >> $logfile
  #------ORACLE监听文件检查-------
  echo -e "\n--------------listener.ora 文件检测------\n" >> $logfile
  ORACLE_HOME=`su - oracle -c env |grep ORACLE_HOME |awk -F "=" '{print $2}'`
  LISTENER=$ORACLE_HOME/network/admin/listener.ora
  #echo $ORACLE_HOME >> $logfile
  if [ -f $LISTENER ];then
  cat $LISTENER >> $logfile
  else
  echo -e "\nlistener.ora 文件检测失败\n">> $logfile
  fi
  }
  chkhosts(){
  echo -e "\n--------------hosts 文件检测--------------\n" >> $logfile
  cat/etc/hosts>> $logfile
  }
  toftp(){
  #----传输日志文件----------
  /usr/bin/ftp -in $FTPip
页: [1]
查看完整版本: 常用的监测系统状态shell脚本