I'm writing a script that will check the many applications services. I have the script looping through the services. Just looking for the best way to align the output text.
Here is the code:
services=(
'MonTier-AppAdmin'
'MonTier-Derby'
'MonTier-es-raw-trans-Nodes-1'
'MonTier-es-raw-trans-Nodes-2'
'MonTier-es-raw-trans-Nodes-3'
'MonTier-es-raw-trans-Nodes-4'
'MonTier-SyslogAgent-1'
'MonTier-SyslogAgent-2'
'MonTier-SyslogAgent-3'
'MonTier-SyslogAgent-4'
'MonTier-WsmAgent-1'
'MonTier-WsmAgent-2'
'MonTier-WsmAgent-3'
'MonTier-WsmAgent-4'
'MonTier-HK-ESRetention'
'MonTier-HK-WdpDeviceResources'
'MonTier-HK-WdpServiceResources'
'MonTier-HK-SyslogKeepalive'
'MonTier-HK-WsmKeepalive'
'MonTier-UI'
'MonTier-Reports'
'MonTier-AgentNode'
'Kibana'
)
servicestat=$(ps -ef | grep -v grep | grep "$services" | wc -l)
for s in ${services[*]}
do
if [ "$servicestat" = "1" ]; then
printf "$s status: \033[0;92mup\e[0m \n"
else
printf "$s status: \033[0;31mDOWN\e[0m \n"
fi
done
This is the output I receive:
MonTier-AppAdmin status: up
MonTier-Derby status: up
MonTier-es-raw-trans-Nodes-1 status: up
MonTier-es-raw-trans-Nodes-2 status: up
MonTier-es-raw-trans-Nodes-3 status: up
MonTier-es-raw-trans-Nodes-4 status: up
MonTier-SyslogAgent-1 status: up
MonTier-SyslogAgent-2 status: up
MonTier-SyslogAgent-3 status: up
MonTier-SyslogAgent-4 status: up
MonTier-WsmAgent-1 status: up
MonTier-WsmAgent-2 status: up
MonTier-WsmAgent-3 status: up
MonTier-WsmAgent-4 status: up
MonTier-HK-ESRetention status: up
MonTier-HK-WdpDeviceResources status: up
MonTier-HK-WdpServiceResources status: up
MonTier-HK-SyslogKeepalive status: up
MonTier-HK-WsmKeepalive status: up
MonTier-UI status: up
MonTier-Reports status: up
MonTier-AgentNode status: up
Kibana status: up
How would I modify the script so the output looks like the following?
MonTier-AppAdmin status: up
MonTier-Derby status: up
MonTier-es-raw-trans-Nodes-1 status: up
MonTier-es-raw-trans-Nodes-2 status: up
MonTier-es-raw-trans-Nodes-3 status: up
MonTier-es-raw-trans-Nodes-4 status: up
MonTier-SyslogAgent-1 status: up
MonTier-SyslogAgent-2 status: up
MonTier-SyslogAgent-3 status: up
MonTier-SyslogAgent-4 status: up
MonTier-WsmAgent-1 status: up
MonTier-WsmAgent-2 status: up
MonTier-WsmAgent-3 status: up
MonTier-WsmAgent-4 status: up
MonTier-HK-ESRetention status: up
MonTier-HK-WdpDeviceResources status: up
MonTier-HK-WdpServiceResources status: up
MonTier-HK-SyslogKeepalive status: up
MonTier-HK-WsmKeepalive status: up
MonTier-UI status: up
MonTier-Reports status: up
MonTier-AgentNode status: up
Kibana status: up
column -t
might work here - it doesn't do exactly what you want but closecolumn -t
actually does do exactly what OP wants.