Some rework in service module

This commit is contained in:
dragon
2021-09-08 02:03:48 +03:00
parent 4bb761cd72
commit 2b964c5e70

View File

@@ -2,31 +2,33 @@
export LANG='en_US.UTF-8'
# set column width
COLUMNS=2
COLUMNS=3
# colors
green="\e[1;32m"
red="\e[1;31m"
undim="\e[0m"
services=( "smartd" "plexmediaserver" "docker" "smbd")
declare -A services
services["nginx"]="Nginx"
services["docker"]="Docker"
services["sshd"]="SSH"
services["plexmediaserver"]="Plex"
services["openvpn-server@server"]="OVPN-server"
services["smbd"]="Samba"
services["smartd"]="Smart"
# sort services
IFS=$'\n' services=($(sort <<<"${services[*]}"))
unset IFS
service_status=()
# get status of all services
for service in "${services[@]}"; do
service_status+=($(systemctl is-active "$service"))
done
for i in ${!services[@]}; do
k=0
out=""
for i in "${!services[@]}"; do
((k++))
# color green if service is active, else red
if [[ "${service_status[$i]}" == "active" ]]; then
service_status=($(systemctl is-active "$i"))
if [[ "${service_status}" == "active" ]]; then
out+="${services[$i]}:,${green}▲${undim},"
else
out+="${services[$i]}:,${red}▼${undim},"
fi
# insert \n every $COLUMNS column
if [ $((($i+1) % $COLUMNS)) -eq 0 ]; then
if [ $((($k) % $COLUMNS)) -eq 0 ]; then
out+="\n"
fi
done
@@ -34,3 +36,4 @@ out+="\n"
printf "\nservices:\n"
printf "$out" | column -ts $',' | sed -e 's/^/ /'
# printf "$services"