脚本作用: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