#/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
文章评论