一.创建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]#