Shell 服务启动停止查看服务状态脚本 PXE

脚本作用:ngus.sh 检测五项服务的状态情况及重启、停止、查看状态

参数:

-e         停止DHCP/HTTP/TFTP/NFS/RPC等五项服务

-r         重启所有服务,并显示重启状态

-s         查看五项服务DHCP/HTTP/TFTP/NFS/RPC运行状态

---------------------------------------------------------

dhcpd       -- DHCP服务

httpd       -- HTTP服务

xinetd      -- TFTP服务

nfs-server  -- NFS磁盘服务

rpcbind     -- NFS关联远程服务

#!/bin/bash
#****************************************************************#
# ScriptName: ngus.sh
# Author:
# Create Date:
# Modify Author: Micarlxm
# Modify Date: 2022-01-10
#***************************************************************#
#定义变量

usage(){
	echo "
脚本作用:ngus.sh 检测五项服务的状态情况及重启、停止、查看状态
参数:
	-e         停止DHCP/HTTP/TFTP/NFS/RPC等五项服务
	-r         重启所有服务,并显示重启状态
	-s         查看五项服务DHCP/HTTP/TFTP/NFS/RPC运行状态
---------------------------------------------------------
	dhcpd       -- DHCP服务
	httpd       -- HTTP服务
	xinetd      -- TFTP服务
	nfs-server  -- NFS磁盘服务
	rpcbind     -- NFS关联远程服务
"
	exit 1
}

function stopn(){
	systemctl daemon-reload 2>/dev/null
	for service in dhcpd httpd xinetd rpcbind nfs-server; do
		
		service $service stop >>/dev/null 2>&1
		systemctl stop $service.service 2>/dev/null
		sa=$(systemctl is-active ${service})
		if [ "$sa" != active ]; then
			[ ${service} == "dhcpd" ] && echo -e "\t\033[31m [DHCP] 服务...关闭状态!\033[0m"
			[ ${service} == "httpd" ] && echo -e "\t\033[31m [HTTP] 服务...关闭状态!\033[0m"
			[ ${service} == "xinetd" ] && echo -e "\t\033[31m [TFTP] 服务...关闭状态!\033[0m"
			[ ${service} == "rpcbind" ] && echo -e "\t\033[31m [RPC ] 服务...关闭状态!\033[0m"
			[ ${service} == "nfs-server" ] && echo -e "\t\033[31m [NFS ] 服务...关闭状态!\033[0m"
		else
			systemctl stop ${service} >>/dev/null 2>&1
			rsa=$(systemctl is-active ${service})
			if [ "$rsa" = active ]; then
				[ ${service} == "dhcpd" ] && echo -e "\t\033[33m DHCP 服务...重新启动正常!\033[0m"
				[ ${service} == "httpd" ] && echo -e "\t\033[33m HTTP 服务...重新启动正常!\033[0m"
				[ ${service} == "xinetd" ] && echo -e "\t\033[33m TFTP 服务...重新启动正常!\033[0m"
				[ ${service} == "rpcbind" ] && echo -e "\t\033[33m RPC  服务...重新启动正常!\033[0m"
				[ ${service} == "nfs-server" ] && echo -e "\t\033[33m NFS  服务...重新启动正常!\033[0m"
			else
				[ ${service} == "dhcpd" ] && echo -e "\t\033[31m DHCP 服务...启动失败!\033[0m"
				[ ${service} == "httpd" ] && echo -e "\t\033[31m HTTP 服务...启动失败!\033[0m"
				[ ${service} == "xinetd" ] && echo -e "\t\033[31m TFTP 服务...启动失败!\033[0m"
				[ ${service} == "rpcbind" ] && echo -e "\t\033[31m RPC  服务...启动失败!\033[0m"
				[ ${service} == "nfs-server" ] && echo -e "\t\033[31m NFS  服务...启动失败!\033[0m"
			fi
		fi
	done
	exit
}

function statusn() {
	systemctl daemon-reload 2>/dev/null
	for service in dhcpd httpd xinetd rpcbind nfs-server; do
		sa=$(systemctl is-active ${service})
		if [ "$sa" != active ]; then
			[ ${service} == "dhcpd" ] && echo -e "\t\033[31m [DHCP] 服务...关闭状态!\033[0m"
			[ ${service} == "httpd" ] && echo -e "\t\033[31m [HTTP] 服务...关闭状态!\033[0m"
			[ ${service} == "xinetd" ] && echo -e "\t\033[31m [TFTP] 服务...关闭状态!\033[0m"
			[ ${service} == "rpcbind" ] && echo -e "\t\033[31m [RPC ] 服务...关闭状态!\033[0m"
			[ ${service} == "nfs-server" ] && echo -e "\t\033[31m [NFS ] 服务...关闭状态!\033[0m"
		else
			rsa=$(systemctl is-active ${service})
			if [ "$rsa" = active ]; then
				[ ${service} == "dhcpd" ] && echo -e "\t\033[32m [DHCP] 服务...正常启动状态!\033[0m"
				[ ${service} == "httpd" ] && echo -e "\t\033[32m [HTTP] 服务...正常启动状态!\033[0m"
				[ ${service} == "xinetd" ] && echo -e "\t\033[32m [TFTP] 服务...正常启动状态!\033[0m"
				[ ${service} == "rpcbind" ] && echo -e "\t\033[32m [RPC ] 服务...正常启动状态!\033[0m"
				[ ${service} == "nfs-server" ] && echo -e "\t\033[32m [NFS ] 服务...正常启动状态!\033[0m"
			fi
		fi
	done
	exit
}

function restartn() {
	systemctl daemon-reload 2>/dev/null
	for service in dhcpd httpd xinetd rpcbind nfs-server; do
		
		service $service restart >>/dev/null 2>&1
		systemctl restart $service.service 2>/dev/null
		sa=$(systemctl is-active ${service})
		if [ "$sa" = active ]; then
			[ ${service} == "dhcpd" ] && echo -e "\t\033[32m [DHCP] 服务...正常启动状态!\033[0m"
			[ ${service} == "httpd" ] && echo -e "\t\033[32m [HTTP] 服务...正常启动状态!\033[0m"
			[ ${service} == "xinetd" ] && echo -e "\t\033[32m [TFTP] 服务...正常启动状态!\033[0m"
			[ ${service} == "rpcbind" ] && echo -e "\t\033[32m [RPC ] 服务...正常启动状态!\033[0m"
			[ ${service} == "nfs-server" ] && echo -e "\t\033[32m [NFS ] 服务...正常启动状态!\033[0m"
		else
			systemctl restart ${service} >>/dev/null 2>&1
			rsa=$(systemctl is-active ${service})
			if [ "$rsa" = active ]; then
				[ ${service} == "dhcpd" ] && echo -e "\t\033[33m DHCP 服务...重新启动正常!\033[0m"
				[ ${service} == "httpd" ] && echo -e "\t\033[33m HTTP 服务...重新启动正常!\033[0m"
				[ ${service} == "xinetd" ] && echo -e "\t\033[33m TFTP 服务...重新启动正常!\033[0m"
				[ ${service} == "rpcbind" ] && echo -e "\t\033[33m RPC  服务...重新启动正常!\033[0m"
				[ ${service} == "nfs-server" ] && echo -e "\t\033[33m NFS  服务...重新启动正常!\033[0m"
			else
				[ ${service} == "dhcpd" ] && echo -e "\t\033[31m DHCP 服务...启动失败!\033[0m"
				[ ${service} == "httpd" ] && echo -e "\t\033[31m HTTP 服务...启动失败!\033[0m"
				[ ${service} == "xinetd" ] && echo -e "\t\033[31m TFTP 服务...启动失败!\033[0m"
				[ ${service} == "rpcbind" ] && echo -e "\t\033[31m RPC  服务...启动失败!\033[0m"
				[ ${service} == "nfs-server" ] && echo -e "\t\033[31m NFS  服务...启动失败!\033[0m"
			fi
		fi
	done
	exit
}

if [ -z "$1" ]; then
	usage
elif [ "$1" == "-e" ]; then
	stopn
	
elif [ "$1" == "-r" ]; then
	restartn
	
elif [ "$1" == "-s" ]; then
	statusn
	
else
	echo -e "**输入参数错误!**\n"
	usage
fi

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值