restyled bars changed logics in generate docker info added sorting to services changed temp scanner (maybe would be optimized)
43 lines
1.2 KiB
Bash
Executable File
43 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
mapfile -t mountpoints < <( df -h | grep ^/dev/ | grep -v efi | awk '{print $6;}' )
|
|
IFS=$'\n' mountpoints=($(sort <<<"${mountpoints[*]}"))
|
|
unset IFS
|
|
|
|
barWidth=38
|
|
maxDiscUsage=85
|
|
midDiscUsage=45
|
|
clear="\e[39m\e[0m"
|
|
ok="\e[32m"
|
|
alert="\e[33m"
|
|
warn="\e[31m"
|
|
barclear=""
|
|
echo
|
|
echo 'HDD free:'
|
|
for point in "${mountpoints[@]}"; do
|
|
line=$(df -h "${point}")
|
|
# IFS=" " read fs size used avail use mount $(df -h "${point}")
|
|
usagePercent=$(echo "$line"|tail -n1|awk '{print $5;}'|sed 's/%//')
|
|
usedBarWidth=$((($usagePercent*$barWidth)/100))
|
|
barContent=""
|
|
color="${ok}"
|
|
if [ "${usagePercent}" -ge "${maxDiscUsage}" ]; then
|
|
color="${warn}"
|
|
elif [ "${usagePercent}" -ge "${midDiscUsage}" ]; then
|
|
color="${alert}"
|
|
fi
|
|
barContent="${color}"
|
|
for sep in $(seq 1 $usedBarWidth); do
|
|
barContent="${barContent}―"
|
|
done
|
|
barContent="${barContent}${clear}"
|
|
for sep in $(seq 1 $(($barWidth-$usedBarWidth))); do
|
|
barContent="${barContent}―"
|
|
done
|
|
bar=" ${barContent}${clear}"
|
|
echo "${point}" | awk '{printf(" %-12s", $1); }'
|
|
echo "${line}" | awk '{if ($1 != "Filesystem") printf("%+8s used out of %+5s\n", $3, $2); }'
|
|
echo -e "${bar}"
|
|
|
|
done
|