【问题标题】:Python script to monitor disk space from df and send e-mail alert when over threshold [closed]Python脚本从df监视磁盘空间并在超过阈值时发送电子邮件警报[关闭]
【发布时间】:2017-10-26 04:40:22
【问题描述】:

在过去的两天里,我一直在尝试编写一个脚本来监控在 Ubuntu 中使用命令 df 时出现的磁盘。我一直无法找到一种方法,可以为我提供磁盘名称和正在使用的百分比。我刚刚开始使用 python 和 Ubuntu,所以任何建议都将不胜感激。

【问题讨论】:

  • 我还没有进入电子邮件部分,我尝试了许多不同的方法来从 df 命令输出磁盘名称和百分比,但我在网上阅读的内容对我没有任何帮助还
  • 分而治之。将您的任务划分为子任务并从命令行进行测试
  • @EJoshuaS 谢谢你的链接,这是我的第一篇文章,所以我不知道那个线程。下次发帖时,我会确保解释得更好。

标签: python bash python-3.x ubuntu


【解决方案1】:

我知道一种在 Python 中检查磁盘空间占用百分比的方法。只需编写一个 python 脚本并添加以下行:

import os

s = os.statvfs(PATH_TO_DEVICE)
diskSpacePercent =  round((((s.f_blocks - s.f_bfree) * s.f_frsize)/(s.f_blocks * s.f_bsize)) * 100, 2)

print diskSpacePercent

之后,通过 shellscript 或 shell 运行脚本,你将拥有设备的磁盘空间百分比

【讨论】:

  • 谢谢,这真的很有帮助。您知道是否可以遍历在 ubuntu 中使用 df 命令时显示的每个磁盘?
  • 我认为如果要显示所有磁盘/设备,则需要手动设置每个。也许你可以创建一个shell脚本来获取设备路径(通过cat或管道'|')然后在你的python函数中传递类似的参数
【解决方案2】:

你可以试试这个把名字和用法发给你:

df -hl |cut -d$'\t' -f2

请参阅使用 mailxuuencode 通过 Unix 发送电子邮件。

【讨论】:

    【解决方案3】:

    无需通过管道进行剪切或任何其他解析命令,只需使用输出标志:

    df -h --output=source,pcent 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多