Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python脚本,用于监视来自df的磁盘空间,并在超过阈值时发送电子邮件警报_Python_Bash_Python 3.x_Ubuntu - Fatal编程技术网

Python脚本,用于监视来自df的磁盘空间,并在超过阈值时发送电子邮件警报

Python脚本,用于监视来自df的磁盘空间,并在超过阈值时发送电子邮件警报,python,bash,python-3.x,ubuntu,Python,Bash,Python 3.x,Ubuntu,在过去的两天里,我一直在尝试编写一个脚本来监视在Ubuntu中使用命令df时出现的磁盘。我一直很难找到一种方法来告诉我磁盘的名称和使用的百分比。我刚刚开始学习python和Ubuntu,因此如果您有任何建议,我将不胜感激。您可以尝试以下内容向您发送名称和用法: df -hl |cut -d$'\t' -f2 请参阅使用mailx或uuencode通过Unix发送电子邮件。我知道用Python检查磁盘空间占用百分比的方法。只需编写一个python脚本并添加以下行: import os s =

在过去的两天里,我一直在尝试编写一个脚本来监视在Ubuntu中使用命令df时出现的磁盘。我一直很难找到一种方法来告诉我磁盘的名称和使用的百分比。我刚刚开始学习python和Ubuntu,因此如果您有任何建议,我将不胜感激。

您可以尝试以下内容向您发送名称和用法:

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

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

我知道用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运行脚本,您将拥有设备的磁盘空间百分比

无需管道切割或任何其他解析命令,只需使用输出标志:

df -h --output=source,pcent 

我还没有谈到电子邮件部分,我尝试了许多不同的方法从df命令输出磁盘名和百分比,但我在网上读到的任何东西都没有帮助我找到并征服磁盘。将您的任务划分为子任务,并从命令行进行测试。请参阅:@EJoshuaS谢谢您的链接,这是我的第一篇文章,所以我不知道该线程。我会确保在下一次发布时更好地解释。谢谢,这真的很有帮助。你知道在ubuntu中使用df命令时是否可以遍历显示的每个磁盘吗?我想如果你想显示所有磁盘/设备,你需要手动设置每个磁盘/设备。也许您可以创建一个shell脚本来获取设备路径(通过cat或管道“|”)并在python函数中传递like参数