在日常的 Linux 系统管理中,我们经常需要监控系统资源(如 CPU、内存、磁盘使用率等),以确保服务器稳定运行。而 Shell 脚本结合 Linux Shell 运算符,可以轻松实现自动化监控任务。本文将从零开始,教你如何编写一个简单的 Shell 监控脚本,即使你是小白也能轻松上手!
什么是 Shell 运算符?
Shell 运算符用于在脚本中进行比较、逻辑判断和算术运算。常见的包括:
-eq:等于(用于整数)-gt:大于-lt:小于-ge:大于等于-le:小于等于!=:不等于(字符串)&&:逻辑与||:逻辑或
实战:用 Shell 脚本监控内存使用率
下面我们将编写一个脚本,当内存使用率超过 80% 时,就发出警告。这个过程会用到 Shell 条件判断 和 系统资源监控 技术。
步骤 1:获取当前内存使用率
我们可以使用 free 命令来获取内存信息,并通过 awk 提取使用百分比:
mem_usage=$(free | awk 'NR==2{printf "%.0f", $3*100/$2 }') 步骤 2:使用 Shell 运算符进行判断
接下来,我们使用 -gt 运算符判断内存使用率是否大于 80:
if [ $mem_usage -gt 80 ]; then echo "[警告] 内存使用率过高:${mem_usage}%"else echo "内存使用正常:${mem_usage}%"fi 完整脚本示例
将以上代码整合成一个完整的监控脚本 monitor_mem.sh:
#!/bin/bash# 获取内存使用百分比mem_usage=$(free | awk 'NR==2{printf "%.0f", $3*100/$2 }')# 使用 Shell 运算符进行条件判断if [ $mem_usage -gt 80 ]; then echo "[ALERT] Memory usage is too high: ${mem_usage}%" # 可以在此处添加发送邮件、写日志等操作else echo "Memory usage is normal: ${mem_usage}%"fi 扩展:监控磁盘使用率
同样的思路也可以用于监控磁盘。例如,检查根分区使用率是否超过 90%:
disk_usage=$(df / | awk 'NR==2 {print $5}' | tr -d '%')if [ $disk_usage -gt 90 ]; then echo "[WARNING] Disk usage is critical: ${disk_usage}%"fi 小结
通过本文,你学会了如何利用 Linux Shell 运算符 结合系统命令,实现对 系统资源监控 的自动化。无论是内存、CPU 还是磁盘,只要掌握基本的 Shell 条件判断 方法,就能快速构建自己的监控脚本。
💡 提示:你可以将这些脚本加入 crontab 定时任务,实现每分钟自动检查,真正做到“无人值守”监控!
现在,快去试试吧!你的服务器会感谢你~
文章版权声明:除非注明,否则均为V5主机测评网_性价比VPS_性价比云服务器_免费独立服务器原创文章,转载或复制请以超链接形式并注明出处。
