centos查看服务器资源利用率脚本

一.创建check.sh脚本并输入脚本内容

vi /root/check.sh
#!/bin/bash
function cpu() {
    NUM=1
    while [ $NUM -le 3 ]; do
        util=`vmstat |awk '{if(NR==3)print 100-$15"%"}'`
        user=`vmstat |awk '{if(NR==3)print $13"%"}'`
        sys=`vmstat |awk '{if(NR==3)print $14"%"}'`
        iowait=`vmstat |awk '{if(NR==3)print $16"%"}'`
        echo "CPU - 使用率: $util , 等待磁盘IO响应使用率: $iowait"
        let NUM++
        sleep 1
    done
}

function memory() {
    total=`free -m |awk '{if(NR==2)printf "%.1f",$2/1024}'`
    used=`free -m |awk '{if(NR==2) printf "%.1f",($2-$NF)/1024}'`
    available=`free -m |awk '{if(NR==2) printf "%.1f",$NF/1024}'`
    echo "内存 - 总大小: ${total}G , 使用: ${used}G , 剩余: ${available}G"
}

function disk() {
    fs=$(df -h |awk '/^\/dev/{print $1}')
    for p in $fs; do
        mounted=$(df -h |awk '$1=="'$p'"{print $NF}')
        size=$(df -h |awk '$1=="'$p'"{print $2}')
        used=$(df -h |awk '$1=="'$p'"{print $3}')
        used_percent=$(df -h |awk '$1=="'$p'"{print $5}')
        echo "硬盘 - 挂载点: $mounted , 总大小: $size , 使用: $used , 使用率: $used_percent"
    done
}

function tcp_status() {
    summary=$(ss -antp |awk '{status[$1]++}END{for(i in status) printf i":"status[i]" "}')
    echo "TCP连接状态 - $summary"
}

cpu
memory
disk
tcp_status

二.授权执行权限

chmod 777 check.sh

三.运行脚本

/root/check.sh
[root@123]# /root/check.sh 
CPU - 使用率: 6% , 等待磁盘IO响应使用率: 0%
CPU - 使用率: 6% , 等待磁盘IO响应使用率: 0%
CPU - 使用率: 6% , 等待磁盘IO响应使用率: 0%
内存 - 总大小: 15.6G , 使用: 2.1G , 剩余: 13.5G
硬盘 - 挂载点: / , 总大小: 920G , 使用: 6.3G , 使用率: 1%
硬盘 - 挂载点: /boot , 总大小: 4.0G , 使用: 158M , 使用率: 4%
TCP连接状态 - LISTEN:14 ESTAB:27 State:1 TIME-WAIT:102 
[root@123]# 

大巡查脚本

#!/bin/bash
#模块(如有需要在导出来)
function_all()
{

#登陆用户信息
echo "现在登陆的用户是:`whoami`"

#中文en_US.UTF-8
echo "语言/编码:`echo $LANG`"

#本机的名称
echo "主机名:`hostname`"

#查询网关
echo "网关:`ip route | awk 'NR==1'| awk '{print $3}'`"

#查看本机ip :ip addr|grep inet|egrep -v 'inet6|127.0.0.1'|awk '{ print $2 }'|awk -F/ '{ print $1 }'
echo "本机ip:`ifconfig | grep broadcast | awk '{print $2}'`"

#查看本机的DNS
echo "本机的DNS如下: "
echo "`cat /etc/resolv.conf | grep -v '^#'`" 

#把md5sum /etc/passwd码 生成到/opt.passwd.md5下
md5sum /etc/passwd > /opt/passwd.md5

#显示OK证明passwd里没有被修改过,如果显示FAILED证明改动过
echo "显示OK文件没有被串改 `md5sum -c /opt/passwd.md5`"

#系统时间
echo "当前时间:`date +%F_%T`"

#系统最后启动时间
echo "最后启动:`who -b | awk '{print $2,$3,$4}'`"

#系统运行时间:uptime |awk '{print $1,$3}'|awk -F ',' '{print $1}'
echo "运行时间2:`uptime | awk '{print $1,$3}' | sed 's/,//g'`"

#查看属于什么系统
echo "当前系统:`uname -a | awk '{print $NF}'`"

#系统的类型
echo "系统类型为:`uname -r`"

#系统内核信息
echo "系统内核信息为:`uname  -a|awk '{print $3}'`"

#显示计算机硬件架构
echo "CPU架构: `uname -m`"

#系统的版本号
echo "发行版本:`cat /etc/redhat-release`"

#查看SELinux状态
echo "查看SELinux状态:`/usr/sbin/sestatus | grep 'SELinux status:' | awk '{print $3}'`"

#查看物理CPU个数
echo "物理CPU个数: `cat /proc/cpuinfo | grep "physical id" | awk '{print $4}' | sort | uniq | wc -l`"

#查看逻辑CPU个数
echo "逻辑CPU个数: `cat /proc/cpuinfo | grep "processor" | awk '{print $3}' | sort | uniq | wc -l`"

#CPU的型号信息
echo "CPU型号: `cat /proc/cpuinfo | grep "model name" | sort | uniq | awk -F":" '{print $2}'`"

#查询安装内核信息
echo "已经安装的内核包:`rpm -qa|grep -i ^kernel-[1-9]`"

#查看普通用户
echo "以下是普通用户"
echo `grep -v nobody /etc/passwd|awk -F: '$3>=500 {print $1}'`

#内存总量以下
echo "内存总量为:`free  -m|awk '/Mem/ {print $2}'`"

#内存的剩余总量
echo "内存剩余总量为:`free  -m|awk '/Mem/ {print $4}'`"

#内存的使用量
echo "使用内存:`free -mh | awk "NR==2"| awk '{print $3}'` "

#磁盘系统信息
echo "系统磁盘信息:`fdisk -l 2> /dev/null|grep '^Disk /dev/'|awk -F, '{ print $1 }'`"

#磁盘总量:lsblk |awk '/disk/{print $4}'  也可以如下:
echo "磁盘总量为:`lsblk |awk '/disk/{print $4}'`"

#磁盘总共的大小
echo "总共磁盘大小:`df -hT | awk "NR==2"|awk '{print $3}'`"

#磁盘剩余的总量
sum=(`df -T|grep -v "tmpfs"|sed '1d'|awk '{print $5}'`)
int=0
for ((i=0;i<`echo ${#sum[@]}`;i++))
do
        int=`expr  $int + ${sum[$i]}`
done
echo "磁盘剩余总量为:$int"

# 设置检测环境变量。
source /etc/profile
export LC_ALL=C
TMP_FILE=/tmp/check_tmp_file
CHECK_ID=$(id|sed -e 's/(.*$//' -e 's/^uid=//')
if [ $CHECK_ID -ne 0 ]
then
    echo -e "你不是root用户"
exit 0
fi

#网络是否可以ping通
ping -c 4 www.baidu.com > /dev/null
if [ $? -eq 0 ];then
    echo "网络连接:正常"
else
    echo "网络连接:失败"
fi

}


function_all
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

踩坑数十载

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值