gpt4 book ai didi

linux - 创建一个文本文件来保存 etc/init.d 的多个服务

转载 作者:太空宇宙 更新时间:2023-11-04 11:17:42 25 4
gpt4 key购买 nike

在我的应用程序运行之前,我有 3 个服务需要启动(postgresql、redis、elasticsearch)。我的问题是,我能否将这 3 个合并到一个文件/脚本中,这样每次我想运行这些服务时,我只需点击 /etc/init.d/services start,如果我完成了我是否只执行 /etc/init.d/services stop 而不是手动停止其中的 3 个?

最佳答案

是的,您必须在/etc/init.d 中为此编写自己的脚本你将不得不处理这样的事情:

#!/bin/sh

# service name
SERVICE_NAME=Liferay
# directory where are stored service bin
SERVICE_DIRECTORY=/opt/Portal/bin
# startup service script
SERVICE_STARTUP_SCRIPT=startup.sh
# stop service script
SERVICE_SHUTDOWN_SCRIPT=shutdown.sh

usage()
{
echo "-----------------------"
echo "Usage: $0 (stop|start|restart)"
echo "-----------------------"
}

if [ -z $1 ]; then
usage
fi

service_start()
{
echo "Starting service '${SERVICE_NAME}'..."
OWD=`pwd`
cd ${SERVICE_DIRECTORY} && ./${SERVICE_STARTUP_SCRIPT}
cd $OWD
echo "Service '${SERVICE_NAME}' started successfully"
}

service_stop()
{
echo "Stopping service '${SERVICE_NAME}'..."
OWD=`pwd`
cd ${SERVICE_DIRECTORY} && ./${SERVICE_SHUTDOWN_SCRIPT}
cd $OWD
echo "Service '${SERVICE_NAME}' stopped"
}

case $1 in
stop)
service_stop
;;
start)
service_start
;;
restart)
service_stop
service_start
;;
*)
usage
esac
exit 0

只需在 start() stop() restart() 中添加您的其他服务

关于linux - 创建一个文本文件来保存 etc/init.d 的多个服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20110305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com