Statistic about full filesystems
Example:
df | awk -f filesystem_stat | sort -r -n -t"," -k3 | tr "," "\t"
df = disk free command display all mounted filesystems
| = pipe short a redirection
sort = sort all data in numerical order (-n) and reverse 'descending' it (-r) and use a comma as seperator and sorted only the third column
tr = translate or delete characters in our case replace comma with a tabulator 'just for better look'
#Executes only at the beginning
BEGIN {
#Counter variable for warnings/notices (additionally)
warnings = 0
notices = 0
}
#regex column 1 and must begin with at least on of these regexs /<regex>/, ^ = must begin with
$1 ~ /^\/dev\// || $1 ~ /^UUID=/ || $1 ~ /^LABEL=/ || $1 ~ /^rootfs/ {
#Extract the number from the percentage
storage[0] = "" #array deklarieren
founded = match($5, /^[0-9]+/, storage ) #Storage read out
#First condition if full greater than 90%
if(founded && storage[0] >= 90 ){
print ">= 90%\t\t,"$1","$5 #Printing
warnings++ #Increment warning counter
}
#Second condition if full greater than 80% but lower than 90%
if(founded && storage[0] >= 80 && storage[0] < 90 ){
print ">= 80% and < 90%,"$1","$5 #Printing
notices++ #Increment notice counter
}
#if no critical filesystem was founded
if(founded == 0){
printf "No critical filesystem founded!\n"
}
}
#Executes only at the end
END {
#Print Footer
printf "Finish! - Warnings : %d , Notices: %d | by Dustin Deus" , warnings, notices
}
Written by Dustin
Related protips
Have a fresh tip? Share with Coderwall community!
Post
Post a tip
Best
#Shell
Authors
Sponsored by #native_company# — Learn More
#native_title#
#native_desc#