Linux系统巡检脚本

#!/bin/bash

#author Mr.Wu

#系统运行巡检脚本

#2022-12-19 20:15:14

#######################################################

#定义函数

cutip(){

#ip=$(ifconfig ens33 | awk '/netmask/{print $2}')

ip="$(ip a | awk '/scope global/{print $2}' | cut -d "/" -f 1 | sed -n "1p")"

echo -e "\033[45;37;1m 本地计算机IP地址为:$ip \033[0m"

}

mem_used(){

free_mem=$(free -m | awk '/Mem/{print $4}')

total_mem=$(free -m | awk '/Mem/{print $2}')

used_mem=$(echo "scale=4;(1-$free_mem/$total_mem)*100" | bc)

echo -e "\033[44;37;1m 本机内存使用率为:$(printf "%.2f%%" ${used_mem})\033[0m"

}

cpuinf(){

cpuin="$(cat /proc/cpuinfo | sed -n "2p;3p;5p;8p;9p;13p;18p;23p;24p")"

echo -e "\033[36;1m 本机CPU信息为:\n$cpuin \033[0m"

}

hostnam(){

name=$(hostname)

echo -e "\033[45;37;1m 本地计算机主机名为:$name \033[0m"

}

sda_used(){

use_mem=$(df -h | grep "/$" | awk '{print $5}')

echo -e "\033[44;37;1m 本机磁盘使用率为:$use_mem \033[0m"

}

io_info(){

io_num=$(ps -ef | wc -l)

echo -e "\033[44;37;1m 本地进程个数为:$io_num \033[0m"

}

delimiter(){

echo -e "\033[32m※※※※※※※※※※※※※※※※※※※※※※※※※※\033[0m"

}

memu(){

delimiter

echo -e "\033[32m

1 显示本地计算机IP地址

2 显示CPU信息

3 显示内存使用情况

4 显示磁盘使用情况

5 打印菜单

6 显示本地计算机主机名

7 显示进程个数

8 退出\033[0m"

delimiter

}

#######################################################

#定义数组

memu_select=("显示本地计算机IP地址" "显示CPU信息" "显示内存使用情况" "显示硬盘使用情况" "打印菜单" "显示本地计算机主机名" "显示进程个数" "退出")

#######################################################

#循环语句

while true

do

select num in ${memu_select[*]}

do

if [ "$num" == ${memu_select[0]} -o "$num" == ${memu_select[1]} -o "$num" == ${memu_select[2]} -o "$num" == ${memu_select[3]} -o "$num" == ${memu_select[4]} -o "$num" == ${memu_select[5]} -o "$num" == ${memu_select[6]} -o "$num" == ${memu_select[7]} ];then

case $num in

${memu_select[0]})

cutip

delimiter

;;

${memu_select[1]})

cpuinf

delimiter

;;

${memu_select[2]})

mem_used

delimiter

;;

${memu_select[3]})

sda_used

delimiter

;;

${memu_select[4]})

memu;;

${memu_select[5]})

hostnam

delimiter

;;

${memu_select[6]})

io_info

delimiter

;;

${memu_select[7]})

break 7;;

esac

else

echo -e "\033[31m选项错误!\033[0m"

continue

fi

done

done

#######################################################

你可能感兴趣的:(shell脚本,linux,centos,运维,后端)