shell 輸出系統某幾個服務狀態和某幾個版本版本

2021-10-06 17:16:06 字數 3915 閱讀 2288

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

doname

=`$system $i | awk 'nr==1 '`

status

=`$system $i | awk '/active/ ' | awk -f '(' '' | awk -f ')' ''`

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

fidone

#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 ''

echo -e "\033[32m+--

----

----

----

----

----

----

----

----

----

----

----

----

----

--+\033[0m\n"

#all=

($neutron1 $nova1 $glance1 $mariadb1 $rabbitmq1 $etcd1)

#for i in $

#do#echo "$i"

#if [ $i =

= running ]

#then

#echo -e "\033[32m$i\033[0m" #| awk ''

#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 ''

echo -e "\033[32m+--

----

----

----

----

----

----

----

----

----

----

----

----

----

--+\033[0m"

#效果

shell指令碼判斷某服務是否執行

shell指令碼判斷某服務是否開啟 指令碼如下 bin bash 檢查服務狀態,是否安裝 read p 請輸入要檢測的服務 service netstat anp grep service dev null if eq 0 then echo service服務已經啟動!else rpm q ser...

shell指令碼 判斷某服務是否開啟

shell指令碼判斷某服務是否開啟 指令碼如下 命令 輸出上一條命令是否正確,結果為0,結果為非0,但不輸出結果 命令 echo 輸出上一條命令是否正確,正確輸出0,錯誤輸出1。結果輸出 bin bash 檢查服務狀態,是否安裝 read p 請輸入要檢測的服務 service netstat an...

Shell程式設計 監控檢查系統某程序控制代碼使用量

題目要求 使用shell指令碼監控檢查系統某程序控制代碼使用量 分析 在對應用服務進行維護時,也經常遇到由於控制代碼使用 過量導致業務中斷的情況。每個平台對程序的控制代碼使用都是有限的,例如在 linux 平台,我們可以使用 ulimit n 命令 open files n 1024 或者對 etc...