【问题标题】:Is there a shell script that can monitor partition usage?是否有可以监控分区使用情况的 shell 脚本?
【发布时间】:2010-07-16 00:56:23
【问题描述】:

当我使用 cPanel 时,它会在任何分区快满时向我发送一封电子邮件。是否有一个脚本可以监控我可以放入 cronjob 的 df 输出?

谢谢

【问题讨论】:

    标签: linux disk-access


    【解决方案1】:

    不知道有没有,不过写起来也不算太难。只需将其放入您的 crontab 中即可:

    df | awk 'NR>1 && $5>80 {print $1 " " $5}'
    

    您应该将 80 替换为您希望收到警报的阈值(使用百分比)。 If 将向您发送跨越该使用级别的所有分区的 df 输出。

    【讨论】:

    • 这正是我想要的,但您的代码似乎输出误报。例如 $ df | awk 'NR>1 && $5>80 {print $1 " " $5}' /dev/sdb1 9%
    • 将 $5 类型转换为 int:df | awk 'NR>1 && int($5)>80 {print $1 " " $5}'
    【解决方案2】:

    这对这个应用程序来说有点过头了,但Nagios 会监控磁盘使用情况并可以通过电子邮件向您发送警报。

    【讨论】:

      【解决方案3】:

      Nagios 执行此操作(以及几乎所有其他操作)。如果您正在设置服务器,那么设置是一件好事。如果这只是供个人使用,Nagios 可能是矫枉过正。

      【讨论】:

        【解决方案4】:

        试试,

        # cat partchek.sh
        #!/bin/bash
        a=$(/bin/df -h | grep /tmp |awk '{print $5}' | awk -F% '{print $1}')
        if [ $a -ge 90 ]  // if /tmp full greater than or equal to 90%
        then
        /bin/mail -s "Kindly check the server: `hostname -i` 's /tmp Partition, Its almost full" your@emailid.here
        fi
        

        在 crontab 中添加以下行:

         * * * * * /bin/sh /path/for/partchek.sh > /dev/null 2>&1
        

        (这只是 /tmp 的示例,您可以根据需要编辑“/”)

        谢谢。

        【讨论】:

          猜你喜欢
          • 2013-05-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-11-22
          • 2021-12-05
          相关资源
          最近更新 更多