Shell脚本系统资源检查

📅 发布时间:2026/7/10 11:55:28 👁️ 浏览次数:
Shell脚本系统资源检查
Shell脚本系统资源检查工具功能说明通过编写自动化脚本执行系统监控和批处理操作检查关键系统资源状态。适用场景系统日常监控与巡检文件处理与备份定时任务调度基础网络配置运维自动化任务优势特点高度灵活性可自定义检查项目和阈值强大的系统交互能力直接调用系统命令和工具支持复杂逻辑控制条件判断、循环、函数等管道操作可轻松组合多个命令脚本内容#!/bin/bash# # 系统资源检查脚本# 功能检查CPU、内存、磁盘使用率及系统负载# # 检查CPU使用率check_cpu(){# 获取CPU使用率取整数值cpu_usage$(top-bn1|grepCpu(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}|seds/%//g|sort-n|tail-1)echo$disk_usage}# 检查系统负载check_load(){# 获取1分钟平均负载system_load$(uptime|awk-Fload average:{print $2}|awk{print $1}|seds/,//)echo$system_load}# 显示系统资源状态show_status(){cpu$(check_cpu)mem$(check_memory)disk$(check_disk)load$(check_load)echoecho 系统资源检查报告echoechoCPU使用率 :$cpu%echo内存使用率 :$mem%echo磁盘最高使用率:$disk%echo系统负载(1min):$loadecho# 简单的阈值检查可自定义if[$cpu-gt80];thenecho⚠️ 警告CPU使用率过高fiif(($(echo $mem80|bc-l)));thenecho⚠️ 警告内存使用率过高fiif[$disk-gt85];thenecho⚠️ 警告磁盘使用率过高fi}# 主函数main(){show_status}# 执行主函数main使用方法1. 创建脚本文件# 使用文本编辑器创建脚本vicheck_system.sh将上述脚本内容复制到文件中保存并退出。2. 添加执行权限# 给脚本添加执行权限chmodx check_system.sh3. 运行脚本# 直接运行脚本./check_system.sh# 或使用bash命令运行bashcheck_system.sh# 或使用sh命令运行shcheck_system.sh4. 定时执行可选# 编辑crontab定时任务crontab-e# 添加以下行表示每5分钟执行一次根据需求调整*/5 * * * * /path/to/check_system.sh/var/log/system_check.log21# 添加以下行表示每天上午10点执行010* * * /path/to/check_system.sh/var/log/system_daily_check.log215. 带参数运行扩展功能# 可以修改脚本以支持不同参数# 例如只检查CPU和内存./check_system.sh --cpu-memory# 或指定输出格式./check_system.sh --json输出示例 系统资源检查报告 CPU使用率 : 24% 内存使用率 : 65.33% 磁盘最高使用率: 78% 系统负载(1min): 1.25 注意事项脚本需要在Linux/Unix环境下运行确保有执行top、free、df、uptime等命令的权限可根据实际需求调整阈值和检查项在生产环境中使用时建议添加日志记录和告警功能扩展建议添加邮件或短信告警功能支持输出HTML或JSON格式添加历史数据记录和趋势分析集成到监控系统如Zabbix、Prometheus