forked from trevor229/MOTD-scripts
-
Notifications
You must be signed in to change notification settings - Fork 0
/
30-hdd-free
32 lines (29 loc) · 893 Bytes
/
30-hdd-free
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/bin/bash
mountpoints=('/data/' '/')
barWidth=50
maxDiscUsage=90
clear="\e[39m\e[0m"
dim="\e[2m"
barclear=""
echo
for point in "${mountpoints[@]}"; do
line=$(df -h "${point}")
usagePercent=$(echo "$line"|tail -n1|awk '{print $5;}'|sed 's/%//')
usedBarWidth=$((($usagePercent*$barWidth)/100))
barContent=""
color="\e[32m"
if [ "${usagePercent}" -ge "${maxDiscUsage}" ]; then
color="\e[31m"
fi
barContent="${color}"
for sep in $(seq 1 $usedBarWidth); do
barContent="${barContent}|"
done
barContent="${barContent}${clear}${dim}"
for sep in $(seq 1 $(($barWidth-$usedBarWidth))); do
barContent="${barContent}-"
done
bar="[${barContent}${clear}]"
echo "${line}" | awk '{if ($1 != "Filesystem") printf("%-30s%+3s used out of %+5s\n", $1, $3, $2); }' | sed -e 's/^/ /'
echo -e "${bar}" | sed -e 's/^/ /'
done