shell 输出系统某几个服务状态和某几个版本版本

cat server_version.sh
#!/bin/bash
##输出系统某几个服务状态和某几个版本版本
##变量
system='systemctl status'
system_name="neutron-linuxbridge-agent.service   openstack-nova-api.service openstack-glance-api.service openstack-nova-compute.service mariadb.service rabbitmq-server.service etcd.service"

##for循环和if判断-服务状态并输入颜色
>status.log
for i in $system_name
do
name=`$system $i | awk 'NR==1 {print $2}'` 
status=`$system $i | awk '/Active/ {print $3}' | awk -F '(' '{print $2}' | awk -F ')' '{print $1}'`
if [ $status == running ]
then
echo -e  "\033[32m$name-$status\033[0m" >>  status.log
else
echo -e "\033[31m$name-failed\033[0m"  >> status.log
fi
done

#awk 截取行变量
neutron1=`cat status.log | awk 'NR==1'`
nova1=`cat status.log | awk 'NR==2'`
glance1=`cat status.log | awk 'NR==3'`
mariadb1=`cat status.log | awk 'NR==4'`
rabbitmq1=`cat status.log | awk 'NR==5'`
etcd1=`cat status.log | awk 'NR==6'`


#date输出时间
echo -e "\033[32m+--------------------------------------------------------+\033[0m" 
echo -e "| \t        \033[45;37m `date` \033[0m \t         |" 
echo -e "\033[32m+--------------------------------------------------------+\033[0m\n" 

#输出服务状态
echo -e "\033[32m+--------------------------------------------------------+\033[0m" 
echo -e "| \t \t    \033[45;37m server_status \033[0m \t  \t \t |" 
echo -e "\033[32m+--------------------------------------------------------+\033[0m" 

echo "$neutron1 $nova1 $glance1 $mariadb1 $rabbitmq1 $etcd1" |  awk  '{printf "|%-65s|\n|%-65s|\n|%-65s|\n|%-65s|\n|%-65s|\n|%-65s|\n",$1,$2,$3,$4,$5,$6}'
echo -e "\033[32m+--------------------------------------------------------+\033[0m\n" 
#all=($neutron1 $nova1 $glance1 $mariadb1 $rabbitmq1 $etcd1)

#for i in ${all[@]}
#do
#echo "$i"
#if [ $i == running ]
#then
#echo -e  "\033[32m$i\033[0m"  #| awk '{printf "|%-7s|%-10s|\n",$1}'
#else
#echo -e "\033[31m$i\033[0m"  
#fi
#done

#echo "+-----------------------------------------+" 


neutron=`rpm -qa openstack-neutron-linuxbridge`
nova=`rpm -qa openstack-nova-api`
glance=`rpm -qa openstack-glance`
compute=`rpm -qa openstack-nova-compute`
mariadb=`rpm -qa mariadb`
rabbitmq=`rpm -qa rabbitmq-server`
etcd=`rpm -qa etcd` 

#输出服务版本
echo -e "\033[32m+--------------------------------------------------------+\033[0m" 
echo -e "| \t \t \033[45;37m server_version \033[0m \t \t \t |" 
echo -e "\033[32m+--------------------------------------------------------+\033[0m" 

echo "$neutron $nova $glance $compute $mariadb $rabbitmq $etcd" |  awk  '{printf "|%-56s|\n|%-56s|\n|%-56s|\n|%-56s|\n|%-56s|\n|%-56s|\n|%-56s|\n",$1,$2,$3,$4,$5,$6,$7}'
echo -e "\033[32m+--------------------------------------------------------+\033[0m" 

#效果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值