renamed df_check.py to diskusage.py
This commit is contained in:
parent
06decfbcf6
commit
6f74cfd40c
98
df_check.py
98
df_check.py
@ -1,98 +0,0 @@
|
||||
#!/usr/bin/python2
|
||||
|
||||
# import os for statvfs
|
||||
import os
|
||||
|
||||
|
||||
# reading a file
|
||||
def fileparser(path):
|
||||
file = open(path, "r")
|
||||
result = file.read()
|
||||
file.close()
|
||||
return result
|
||||
|
||||
#file = open("/proc/partitions", "r")
|
||||
#parts = file.read()
|
||||
#file.close()
|
||||
#file = open("/proc/mounts", "r")
|
||||
#mounts = file.read()
|
||||
#file.close()
|
||||
|
||||
# reading needed files
|
||||
parts = fileparser("/proc/partitions")
|
||||
mounts = fileparser("/proc/mounts") #bug.. what if uuids are in /proc/mounts
|
||||
|
||||
partitions = []
|
||||
blocks = []
|
||||
# getting all local partitions (regardless if mounted or not)
|
||||
# and blocks from /proc/partitions and write it to lists
|
||||
for line in parts.split("\n"):
|
||||
if line and "name" not in line and "sr0" not in line:
|
||||
if line.split()[2] != "1":
|
||||
partitions.append("/dev/" + line.split()[3])
|
||||
blocks.append(line.split()[2])
|
||||
|
||||
|
||||
hold="nothing"
|
||||
holdblocks = 0
|
||||
blockcount = 0
|
||||
counter = 0
|
||||
partsnew = []
|
||||
blocksnew = []
|
||||
# detect disk like /dev/sda itself and
|
||||
# filter it from partitions and blocks list
|
||||
for part in partitions:
|
||||
if hold in part:
|
||||
blockcount = blockcount + int(blocks[counter])
|
||||
partsnew.append(part)
|
||||
blocksnew.append(blocks[counter])
|
||||
else:
|
||||
hold = part
|
||||
holdblocks = blocks[counter]
|
||||
blockcount = 0
|
||||
counter += 1
|
||||
|
||||
|
||||
# moving back to old var name
|
||||
# too lazy to rename everything below
|
||||
partitions = partsnew
|
||||
blocks = blocksnew
|
||||
|
||||
# getting mounted partitions and their mountpoints
|
||||
mountpoints = []
|
||||
mountparts = []
|
||||
for item in partitions:
|
||||
for line in mounts.split("\n"):
|
||||
if line and item in line:
|
||||
mountpoints.append(line.split()[1])
|
||||
mountparts.append(item)
|
||||
break
|
||||
|
||||
# output for debugging
|
||||
print "debug output:"
|
||||
print "availible partitions: %s\nblocks: %s\nmounted partitions: %s\nmountpoints: %s" %(partitions, blocks, mountparts, mountpoints)
|
||||
print "" #linebreak
|
||||
|
||||
|
||||
# given paths(mountpoints)
|
||||
#path=("/boot", "/", "/dev/sda6")
|
||||
path = mountpoints
|
||||
|
||||
print "mountpoints\tfree megabytes"
|
||||
print "------------------------------"
|
||||
|
||||
# getting usage information and print it to stdout
|
||||
for mountpoint in path:
|
||||
#check if given path is a mountpoint
|
||||
if os.path.ismount(mountpoint):
|
||||
#create statvfs object
|
||||
fs = os.statvfs(mountpoint)
|
||||
#calculate free megabytes
|
||||
freembytes = fs.f_bavail * fs.f_bsize / 1024**2.0
|
||||
#output
|
||||
print "%s\t\t%.1f MB" %(mountpoint, freembytes)
|
||||
else:
|
||||
print "error: given path (%s) is not a mountpoint" %(mountpoint)
|
||||
|
||||
|
||||
# end of file
|
Reference in New Issue
Block a user