#/bin/bash
# ------------------------------------------
# Filename: 服务器系统配置初始化脚本.sh
# Version: 1.1
# Date: 2023/10/24
# Author: tanghao
# Email: 2826588067@qq.com
# Description: This is the script
# Copyright: 2023 tanghao
# License: GPL
# ------------------------------------------
#!/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 -e "\033[31m; CPU - 使用率: $util , 等待磁盘IO响应使用率: $iowait \033[0m"
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 -e "\033[31m; 内存 - 总大小: ${total}G , 使用: ${used}G , 剩余: ${available}G \033[0m"
}
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 -e "\033[31m; 硬盘 - 挂载点: $mounted , 总大小: $size , 使用: $used , 使用率: $used_percent \033[0m"
done
}
function tcp_status() {
summary=$(ss -antp |awk 'NR!=1{print $1}'| awk '{++S[$NF]}END{for( i in S) printf i":"S[i] " " }')
echo -e "\033[31m;1 TCP连接状态 - $summary \033[0m"
}
option="
查看cpu
查看memory
查看disk
查看tcp连接
查看以上所有
退出
"
PS3="Please select the option you want to optimize 1-6 :"
select menu in $option ;do
case $REPLY in
1)
cpu
;;
2)
memory
;;
3)
disk
;;
4)
tcp_status
;;
5)
cpu
memory
disk
tcp_status
;;
6)
exit
;;
*)
echo -e "\033[31m;1 你输入数字有误,请重新输入 \033[0m"
;;
esac
done