您的位置:首页 > 运维架构 > Linux

centos7自启动服务的配置文件

2017-11-16 08:35 239 查看
[Unit]
Description=cdb
After=network.target
[Service]
Type=forking
ExecStart=/opt/cdb/cdb-admin start
ExecStop=/opt/cdb/cdb-admin stop
ExecReload=/opt/cdb/cdb-admin restart
User=cdb
Group=cdb
[Install]
WantedBy=multi-user

对于以上配置文件的参数还需要深究.待续

#!/bin/bash
# chkconfig: 2345 90 10
# description: message-center-service service control script

##################Need change##################

SERVICE_NAME=cdb-admin
JAR_PATH="/opt/cdb/"
JAR_FILENAME=`ls -lt $JAR_PATH | grep "cdb-admin*.*jar" | head -n 1 | awk -F ' ' '{print $9}'`
JAR_LOGFILE="/var/log/$SERVICE_NAME.log"
###############################################

echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
echo ">>>>>> JAR_PATH :${JAR_PATH} "
echo ">>>>>> JAR_FILENAME :${JAR_FILENAME} "
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"

function getServiceStatus {
JAR_STATUS=$(ps aux|grep $JAR_FILENAME |grep -v grep)
JAR_PID=$(ps -ef |grep $JAR_FILENAME |grep -v grep |awk '{print $2}')
}

function startServiceProcess {
# cmd2="cd /opt/cdb"
# cmd="nohup /usr/java/jre1.8.0_144/bin/java -jar /opt/cdb/cdb-admin.jar > /dev/null &"
# su - cdb -c "${cmd2};${cmd}" || return 1
cd /opt/cdb
`nohup /usr/java/jre1.8.0_144/bin/java -jar /opt/cdb/cdb-admin.jar > /dev/null &` || return 1
getServiceStatus
if [ "$JAR_STATUS" == "" ]; then
echo -ne "\n$SERVICE_NAME started failed, see logfile $JAR_LOGFILE ."
return 1
fi
return 0;
}

function stopServiceProcess {
getServiceStatus
kill -9 $JAR_PID
sleep 10 ; getServiceStatus
if [ "$JAR_STATUS" == "" ]; then
RETVAL=0; return 0;
fi
return 1;
}

function startService {
getServiceStatus
if [ "$JAR_STATUS" != "" ]; then
echo -ne "$SERVICE_NAME is already running\n";
RETVAL=0; return 0;
else
startServiceProcess
echo -n "Starting $SERVICE_NAME ( PID: $JAR_PID ) "
if [ $? -ne 0 ]; then RETVAL=1; echo "Failed"; return 1; fi
echo " [ OK ]"
RETVAL=0
return 0;
fi
return 0;
}

function stopService {
getServiceStatus
if [ "$JAR_STATUS" == "" ]; then
echo -n "$SERVICE_NAME is not running";
RETVAL=0; echo ""; return 0;
else
echo -n "Stopping $SERVICE_NAME "
stopServiceProcess
if [ $? -ne 0 ]; then RETVAL=1; echo "Failed"; return 1; fi
echo " [ OK ]"
RETVAL=0
return 0;
fi
return 0;
}

function checkServiceStatus {
getServiceStatus
if [ "$JAR_STATUS" != "" ]; then
echo "$SERVICE_NAME ( PID: $JAR_PID ) is running"
RETVAL=0
else
echo "$SERVICE_NAME is stopped"
RETVAL=3
fi
return 0;
}

function main {
RETVAL=0
case "$1" in
start) # starts the Java program as a Linux service
startService
;;
stop) # stops the Java program service
stopService
;;
restart) # stops and restarts the service
stopService && startService
;;
status) # displays the service status
checkServiceStatus
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
;;
esac
exit $RETVAL
}

main $1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  centos7