news 2026/4/23 8:15:13

Shell脚本系统资源检查

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Shell脚本系统资源检查

Shell脚本:系统资源检查工具

功能说明

通过编写自动化脚本执行系统监控和批处理操作,检查关键系统资源状态。

适用场景

  • 系统日常监控与巡检
  • 文件处理与备份
  • 定时任务调度
  • 基础网络配置
  • 运维自动化任务

优势特点

  • 高度灵活性:可自定义检查项目和阈值
  • 强大的系统交互能力:直接调用系统命令和工具
  • 支持复杂逻辑控制:条件判断、循环、函数等
  • 管道操作:可轻松组合多个命令

脚本内容

#!/bin/bash# ============================================# 系统资源检查脚本# 功能:检查CPU、内存、磁盘使用率及系统负载# ============================================# 检查CPU使用率check_cpu(){# 获取CPU使用率(取整数值)cpu_usage=$(top-bn1|grep"Cpu(s)"|awk'{print $2}'|awk-F'%''{print int($1)}')echo$cpu_usage}# 检查内存使用率check_memory(){# 计算内存使用百分比(保留两位小数)memory_usage=$(free|grepMem|awk'{printf "%.2f", $3/$2 * 100.0}')echo$memory_usage}# 检查磁盘使用率check_disk(){# 获取磁盘使用率最高的分区(排除特殊文件系统)disk_usage=$(df-h|grep-vE'^Filesystem|tmpfs|cdrom|udev'|awk'{print $5}'|sed's/%//g'|sort-n|tail-1)echo$disk_usage}# 检查系统负载check_load(){# 获取1分钟平均负载system_load=$(uptime|awk-F'load average:''{print $2}'|awk'{print $1}'|sed's/,//')echo$system_load}# 显示系统资源状态show_status(){cpu=$(check_cpu)mem=$(check_memory)disk=$(check_disk)load=$(check_load)echo"========================================"echo" 系统资源检查报告"echo"========================================"echo"CPU使用率 :$cpu%"echo"内存使用率 :$mem%"echo"磁盘最高使用率:$disk%"echo"系统负载(1min):$load"echo"========================================"# 简单的阈值检查(可自定义)if[$cpu-gt80];thenecho"⚠️ 警告:CPU使用率过高!"fiif(($(echo "$mem>80"|bc-l)));thenecho"⚠️ 警告:内存使用率过高!"fiif[$disk-gt85];thenecho"⚠️ 警告:磁盘使用率过高!"fi}# 主函数main(){show_status}# 执行主函数main

使用方法

1. 创建脚本文件

# 使用文本编辑器创建脚本vicheck_system.sh

将上述脚本内容复制到文件中,保存并退出。

2. 添加执行权限

# 给脚本添加执行权限chmod+x check_system.sh

3. 运行脚本

# 直接运行脚本./check_system.sh# 或使用bash命令运行bashcheck_system.sh# 或使用sh命令运行shcheck_system.sh

4. 定时执行(可选)

# 编辑crontab定时任务crontab-e# 添加以下行,表示每5分钟执行一次(根据需求调整)*/5 * * * * /path/to/check_system.sh>>/var/log/system_check.log2>&1# 添加以下行,表示每天上午10点执行010* * * /path/to/check_system.sh>>/var/log/system_daily_check.log2>&1

5. 带参数运行(扩展功能)

# 可以修改脚本以支持不同参数# 例如:只检查CPU和内存./check_system.sh --cpu-memory# 或指定输出格式./check_system.sh --json

输出示例

======================================== 系统资源检查报告 ======================================== CPU使用率 : 24% 内存使用率 : 65.33% 磁盘最高使用率: 78% 系统负载(1min): 1.25 ========================================

注意事项

  1. 脚本需要在Linux/Unix环境下运行
  2. 确保有执行topfreedfuptime等命令的权限
  3. 可根据实际需求调整阈值和检查项
  4. 在生产环境中使用时,建议添加日志记录和告警功能

扩展建议

  • 添加邮件或短信告警功能
  • 支持输出HTML或JSON格式
  • 添加历史数据记录和趋势分析
  • 集成到监控系统(如Zabbix、Prometheus)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/14 10:43:51

科研党收藏!更贴合专科生的降AI率网站,千笔AI VS PaperRed

在AI技术迅猛发展的今天,越来越多的专科生开始借助AI工具辅助完成论文写作,以提高效率、优化内容。然而,随着学术审查标准的不断提升,AI生成内容的痕迹愈发明显,查重率和AIGC检测成为论文通过的关键障碍。面对市场上种…

作者头像 李华
网站建设 2026/4/15 20:49:12

路由懒加载的3种实现方式与性能对比

路由懒加载的3种实现方式与性能对比 在单页应用(SPA)开发中,路由懒加载是优化首屏加载性能的核心策略之一。其核心思想是将路由对应的组件代码拆分为独立文件,仅在用户访问时动态加载,从而减少初始包体积,提…

作者头像 李华
网站建设 2026/4/18 8:06:34

救命神器 8个降AIGC软件测评:本科生降AI率必备工具推荐

在如今的学术写作中,AI生成内容(AIGC)已经成为高校和科研机构关注的重点。尤其对于本科生而言,如何有效降低论文中的AI痕迹、提升原创性,成为毕业论文顺利通过的重要环节。随着查重系统对AI生成内容的识别能力不断提升…

作者头像 李华
网站建设 2026/3/21 11:09:16

基于Spring Boot的少儿编程管理系统设计与实现(开题报告)

毕业论文(设计)开题报告基于Spring Boot的少儿编程管理系统设计与实现 姓 名 学 院 数学与数据科学学院 专业班级 信息与计算科学211 学 号 指导教师 ; 职称/职务 副教授;技术经理 起始时间 2025年5月9日 教务部制 一、开题依据(研究目的、意义及国内外研究概况,附主…

作者头像 李华
网站建设 2026/4/16 21:19:16

RTOS核心三剑客:任务、信号量与队列深度解析

RTOS核心三剑客:任务、信号量与队列深度解析 一、裸机编程的瓶颈:为什么需要RTOS? 在嵌入式开发中,裸机程序通常采用**超级循环(Super Loop)**结构: void main() { while(1) { read_sensors();// 读取传感器 process_d…

作者头像 李华
网站建设 2026/4/22 5:52:44

AI专著写作指南:精选工具推荐,帮你高效完成学术专著创作

学术专著写作:挑战与AI解决方案 学术专著写作的挑战不仅在于“能否写出来”,更在于“能否成功出版并获得认可”。学术专著的受众通常较为有限,因此出版社在选题时会严格审核其学术价值和作者的影响力。许多作者即使完成了初步的书稿&#xf…

作者头像 李华