44 lines
1.1 KiB
Bash
Executable File
44 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
export LANG='en_US.UTF-8'
|
|
# set column width
|
|
COLUMNS=2
|
|
# colors
|
|
green="\e[1;32m"
|
|
red="\e[1;31m"
|
|
undim="\e[0m"
|
|
declare -A services
|
|
services["docker"]="Docker"
|
|
#services["openvpn-server@server"]="OVPN server"
|
|
#services["openvpn-server@private"]="OVPN private"
|
|
services["smbd"]="Samba"
|
|
services["smartd"]="Smart"
|
|
# services["minecraft@iis"]="MC IIS"
|
|
# services["minecraft@iis_creative"]="IIS CREATIVE"
|
|
#services["lavalink"]="Lavalink"
|
|
#services["discord-music"]="Dis music"
|
|
#services["discord-pisya"]="Dis pisya"
|
|
#services["discord-boom"]="Dis boom"
|
|
services["wsdd"]="WSD"
|
|
# sort services
|
|
k=0
|
|
out=""
|
|
for i in "${!services[@]}"; do
|
|
((k++))
|
|
# color green if service is active, else red
|
|
service_status=($(systemctl is-active "$i"))
|
|
if [[ "${service_status}" == "active" ]]; then
|
|
out+="${services[$i]}:,${green} up${undim},"
|
|
else
|
|
out+="${services[$i]}:,${red}down${undim},"
|
|
fi
|
|
# insert \n every $COLUMNS column
|
|
if [ $((($k) % $COLUMNS)) -eq 0 ]; then
|
|
out+="\n"
|
|
fi
|
|
done
|
|
out+="\n"
|
|
|
|
printf "\nservices:\n"
|
|
printf "$out" | column -ts $',' | sed -e 's/^/ /'
|