1.查询系统基础情况脚本
#!/bin/bash # 系统状态查询脚本 # 输出系统基本信息 # # 系统版本 SYSTEM_VERSION=`cat /etc/redhat-release` # 主机名 HOSTNAME=`hostname` # 网卡名称 DEV="ens32" # IP地址 IP_ADDR=`ifconfig $DEV | grep -v inet6 | grep inet | awk '{print $2}'` # MAC地址 MAC_ADDR=`ifconfig $DEV | awk '/ether/{print $2}'` # 内核版本 KERNEL_VERSION=`uname -a | awk '{print $3}'` # CPU版本 CPU_VERSION=`cat /proc/cpuinfo | grep -n '^model name' | awk -F":" '{print $3 }'|sed 's/^ //g'` # 当前时间 DATE=`date` # 启动时间 DATE_START=`date -d "$(awk -F. '{print $1}' /proc/uptime) second ago" +"%Y-%m-%d %H:%M:%S"` # echo -e "\n+--------- $DATE --------+\n" echo -e "主机名:\n$HOSTNAME\n" echo -e "系统版本:\n$SYSTEM_VERSION\n" echo -e "内核版本:\n$KERNEL_VERSION\n" echo -e "CPU版本:\n$CPU_VERSION\n" echo -e "系统IP:\n$DEV $IP_ADDR\n" echo -e "系统MAC:\n$DEV $MAC_ADDR\n" echo -e "启动时间:\n$DATE_START\n" #--------------------------- # 系统负载 # uptime #--------------------------- CPU_NUM=`cat /proc/cpuinfo | grep processor | awk -F":" '{print $2}' | wc -l` Load=`uptime | awk -F"average:" '{print $2}' | awk -F"," '{print "<__ 系统负载 __> --> ""CPU数量:'"$CPU_NUM"'""\t1分钟:"$1"\t5分钟:"$2"\t15分钟:"$3}'` echo -e "\n$Load\n" #--------------------------- # CPU状态 # vmstat #--------------------------- CPU_CHECK=`vmstat | awk '{print NR $0}' | awk '/^3/{print "<__ CPU状态 __> --> ""CPU使用:"$14"%\t""CPU空闲:"$16"%"}'` echo -e "$CPU_CHECK\n" #--------------------------- # 内存状态 # free #--------------------------- MEMORY=`free -mh | awk ' /^Mem/{print "<__ 内存状态 __> --> ""内存总量:"$2"\t已用内存:"$3"\t剩余内存:"$4"\t可用内存:"$7}'` echo -e "$MEMORY\n" #-------------------------- # 磁盘使用 # df #-------------------------- DISK=`df -h | grep -n '/$' | awk '{print "<__ 磁盘使用 __> --> ""磁盘容量:"$2"\t已用容量:"$3"\t可用容量:"$4}'` echo -e "$DISK\n" #--------------------------- # 进程统计 # top #--------------------------- PROCESS=`top -bn1 | awk '/Tasks:/{print $0}' | awk '{print "<__ 进程统计 __> --> ""进程总数:"$2"\t运行进程:"$4"\t休眠进程:"$6"\t停止进程:"$8"\t僵尸进程:"$10}'` echo -e "$PROCESS\n" #--------------------------- # 磁盘IO使用情况 # sar #--------------------------- IO=`sar -b | grep -n '^[^0-9]' | awk '{print NR $0}'| awk '/^2/{print"<__ 磁盘读写 __> --> ""读/秒:"$5" bytes""\t写/秒:"$6" bytes"}'` echo -e "$IO\n" #--------------------------- # 网卡流量使用情况 # sar #--------------------------- NETWORK=`sar -n DEV | grep $DEV | grep -n '^[^0-9]'| awk '{print "<__ 网卡流量 __> --> ""网卡名:"$2"\t收包/秒:"$3"\t发包/秒:"$4"\t下载/秒:"$5" Bytes"" 上传/秒:"$6" Bytes"}'` echo -e "$NETWORK\n"