请描述一个你使用 Shell 脚本解决实际问题的例子。

推荐答案

-- -------------------- ---- -------
-----------

- -------------
------------
-------------------------
---------------------

- ---------
---------- -- - ---- ------------ - --- ------- ---- - --- ---------

- --------
-- - -------- --- ------------ -- ----
    ---- ----------- -------- - ---- -- -------- --------
--

本题详细解读

问题背景

在实际运维工作中,磁盘空间的管理是一个常见且重要的问题。磁盘空间不足可能导致系统性能下降,甚至服务中断。因此,监控磁盘使用情况并在达到一定阈值时发送警报是非常必要的。

解决方案

我们使用Shell脚本来监控磁盘使用情况,并在磁盘使用率超过预设阈值时发送邮件警报。

代码解析

  1. 变量定义

    • THRESHOLD=90:设置磁盘使用率的阈值,这里设置为90%。
    • EMAIL="admin@example.com":设置接收警报的邮箱地址。
    • PARTITION="/dev/sda1":指定要监控的磁盘分区。
  2. 获取磁盘使用率

    • USAGE=$(df -h | grep "$PARTITION" | awk '{print $5}' | sed 's/%//g'):使用df -h命令获取磁盘使用情况,grep过滤出指定分区的信息,awk提取使用百分比,sed去除百分号。
  3. 判断并发送警报

    • if [ "$USAGE" -gt "$THRESHOLD" ]; then:判断当前磁盘使用率是否超过阈值。
    • echo "磁盘使用率超过阈值: $USAGE%" | mail -s "磁盘空间警报" "$EMAIL":如果超过阈值,使用mail命令发送邮件警报。

使用场景

该脚本可以定期运行(例如通过cron定时任务),以实时监控磁盘使用情况,确保在磁盘空间不足时及时采取措施。

纠错
反馈