2017-07-10 27 views
-2

如何修改这个脚本来提醒我监视文件系统空间时,当我尝试这个block_usage_pct> 90%python脚本使用DF -h

from __future__ import with_statement 
import contextlib 
import os 
import sys 
print "Filesystem\tMounted on\tUse%\tIUse%" 
with contextlib.closing(open('/etc/mtab')) as fp: 
    for m in fp: 
    fs_spec, fs_file, fs_vfstype, fs_mntops, fs_freq, fs_passno = m.split() 
    if fs_spec.startswith('/'): 
     r = os.statvfs(fs_file) 
     block_usage_pct = 100.0 - (float(r.f_bavail)/float(r.f_blocks) * 100) 
     inode_usage_pct = 100.0 - (float(r.f_favail)/float(r.f_files) * 100) 

它说synatx无效 如果(浮点(block_usage_pct))> 10 打印 “%S \吨%S \吨\吨%d %% \吨%d %%” %(fs_spec,fs_file,block_usage_pct,inode_usage_pct)

+0

堆栈溢出是没有代码写入服务。发布你的代码并告诉具体问题是什么。 – klutt

回答

0

answer是关于如何调用df -h一个很好的参考使用Python,您可以从那里处理输出并应用您想要应用的任何规则。

+0

从进口__future__ with_statement 进口contextlib 进口OS 进口SYS 打印 “文件系统\ tMounted上\ t使用%\ tIUse%” 与contextlib.closing(开( '的/ etc/MTAB'))作为FP: 为米在FP: fs_spec,fs_file,fs_vfstype,fs_mntops,fs_freq,fs_passno = m.split() 如果fs_spec.startswith( '/'): R = os.statvfs(fs_file) block_usage_pct = 100.0 - (浮动(R .f_bavail)/ float(r.f_blocks)* 100) print“%s \ t%s \ t \ t%d %% \ t%d %%”%(fs_spec,fs_file,block_usage_pct,inode_usage_pct)每当block_usage_pct> 90时设置警报。 – cad