forked from OSchip/llvm-project
35 lines
959 B
Python
35 lines
959 B
Python
|
#!/usr/bin/env python
|
||
|
|
||
|
"""This collects filesystem capacity info using the 'df' command. Tuples of
|
||
|
filesystem name and percentage are stored in a list. A simple report is
|
||
|
printed. Filesystems over 95% capacity are highlighted. Note that this does not
|
||
|
parse filesystem names after the first space, so names with spaces in them will
|
||
|
be truncated. This will produce ambiguous results for automount filesystems on
|
||
|
Apple OSX. """
|
||
|
|
||
|
import pexpect
|
||
|
|
||
|
child = pexpect.spawn ('df')
|
||
|
|
||
|
# parse 'df' output into a list.
|
||
|
pattern = "\n(\S+).*?([0-9]+)%"
|
||
|
filesystem_list = []
|
||
|
for dummy in range (0, 1000):
|
||
|
i = child.expect ([pattern, pexpect.EOF])
|
||
|
if i == 0:
|
||
|
filesystem_list.append (child.match.groups())
|
||
|
else:
|
||
|
break
|
||
|
|
||
|
# Print report
|
||
|
print
|
||
|
for m in filesystem_list:
|
||
|
s = "Filesystem %s is at %s%%" % (m[0], m[1])
|
||
|
# highlight filesystems over 95% capacity
|
||
|
if int(m[1]) > 95:
|
||
|
s = '! ' + s
|
||
|
else:
|
||
|
s = ' ' + s
|
||
|
print s
|
||
|
|