Some rework in service module
This commit is contained in:
31
40-services
31
40-services
@@ -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"
|
||||
Reference in New Issue
Block a user