#!/usr/bin/bash ## @date: 2024-09-09 ## This is a script for security operation indicator monitoring! export LANG="zh_CN.UTF-8" ##当前系统时间 DATE_time=$(date -d "0 day" +%Y年%m月%d日%H时%M分%S秒) ##服务器IP地址 IP_addr=$(ifconfig eth0 | grep inet | grep -v inet6 | awk '{print $2}') ##CPU占用率 CPU=100.0 CPU_free=$(top -b -n 1 | grep Cpu | awk '{print $8}') CPU_used=$(awk 'BEGIN{printf "%.1f%\n",'$CPU' - '$CPU_free'}') sleep 2 ##内存使用率 RAM_total=$(free -m | grep Mem | awk '{print $2}') RAM_used=$(free -m | grep Mem | awk '{print $3}') RAM_percent=$(awk 'BEGIN{printf "%.1f%\n",('$RAM_used'/'$RAM_total')*100}') sleep 2 ##磁盘使用率 Disk_totalSpace=$(df -m | sed '1d;/ /!N;s/\n//;s/ \+/ /;' | awk '{totalSpace+=$2} END{print totalSpace}') Disk_used=$(df -m | sed '1d;/ /!N;s/\n//;s/ \+/ /;' | awk '{used+=$3} END{print used}') Disk_percent=$(awk 'BEGIN{printf "%.1f%\n",('$Disk_used'/'$Disk_totalSpace')*100}') sleep 2 ##带宽使用率 ##执行查看带宽命令,10秒内执行5次,取平均值 i=1 Receive_result=0.000 Transmit_result=0.000 while(($i<=5)) do Receive_before=$(cat /proc/net/dev | grep 'eth' | tr : " " | awk '{print $2}') Transmit_before=$(cat /proc/net/dev | grep 'eth' | tr : " " | awk '{print $10}') sleep 2 Receive_after=$(cat /proc/net/dev | grep 'eth' | tr : " " | awk '{print $2}') Transmit_after=$(cat /proc/net/dev | grep 'eth' | tr : " " | awk '{print $10}') Receive_bandwidth=$(awk 'BEGIN{printf "%.3f\n",('$Receive_after'-'$Receive_before')/1024/1024/2*8}') Transmit_bandwidth=$(awk 'BEGIN{printf "%.3f\n",('$Transmit_after'-'$Transmit_before')/1024/1024/2*8}') Receive_result=$(awk 'BEGIN{printf "%.3f\n",('$Receive_result'+'$Receive_bandwidth')}') Transmit_result=$(awk 'BEGIN{printf "%.3f\n",('$Transmit_result'+'$Transmit_bandwidth')}') let "i++" done Receive_average=$(awk 'BEGIN{printf "%.3fMbps\n",('$Receive_result'/5)}') Transmit_average=$(awk 'BEGIN{printf "%.3fMbps\n",('$Transmit_result'/5)}')
Shell脚本监控Centos 7系统运行状态
不会代码的小徐2024-09-13 17:43
相关推荐
真好啊又活了一天10 分钟前
服务器和虚机配置IPV6zixu_star29 分钟前
定时任务是什么?从日常自动化到 AI 应用,软件如何自动执行任务?AR-26710-42 分钟前
Linux Day33——定时任务+lvm墨痕诉清风1 小时前
SSRF漏洞实战记录+OSS桶命令执行+MCP漏洞byte轻骑兵1 小时前
实战 4:BlueZ 源码中添加自定义设备过滤规则润滑卫士1 小时前
液压系统工作粘度窗口等级选型:泵允许粘度范围与油温-粘度匹配计算瓦瓦gogo2 小时前
从一个 TypeScript 函数开始理解 MCP 协议鱼听禅4 小时前
Ubuntu安装YOLOv8进行菌落识别训练测试界的小码农4 小时前
【Linux 命令实战(04):文件内容查看,掌握 cat、less、head、tail】每月一号准时摆烂4 小时前
服务器运维笔记(一)——使用shell编写实时查看BMC功率的脚本