Add a CentOS init script
This commit is contained in:
Родитель
3cfa4a581c
Коммит
5e48c89c5e
|
@ -0,0 +1,92 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# /etc/rc.d/init.d/gogs
|
||||
#
|
||||
# Runs the Gogs Go Git Service.
|
||||
#
|
||||
#
|
||||
# chkconfig: - 85 15
|
||||
#
|
||||
|
||||
### BEGIN INIT INFO
|
||||
# Provides: gogs
|
||||
# Required-Start: $remote_fs $syslog
|
||||
# Required-Stop: $remote_fs $syslog
|
||||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
# Short-Description: Start gogs at boot time.
|
||||
# Description: Control gogs.
|
||||
### END INIT INFO
|
||||
|
||||
# Source function library.
|
||||
. /etc/init.d/functions
|
||||
|
||||
# Default values
|
||||
|
||||
NAME=gogs
|
||||
GOGS_HOME=/home/git/gogs
|
||||
GOGS_PATH=${GOGS_HOME}/$NAME
|
||||
GOGS_USER=git
|
||||
SERVICENAME="Gogs Go Git Service"
|
||||
PID=/var/run/$NAME.pid
|
||||
LOCKFILE=/var/lock/subsys/gogs
|
||||
LOGFILE=${GOGS_HOME}/log/gogs.log
|
||||
RETVAL=0
|
||||
|
||||
# Read configuration from /etc/sysconfig/gogs to override defaults
|
||||
[ -r /etc/sysconfig/$NAME ] && ./etc/sysconfig/$NAME
|
||||
|
||||
# Don't do anything if nothing is installed
|
||||
[ -x ${GOGS_PATH} ] || exit 0
|
||||
|
||||
DAEMON_OPTS=""
|
||||
|
||||
# Set additional options, if any
|
||||
[ ! -z "$GOGS_USER" ] && DAEMON_OPTS="$DAEMON_OPTS --user=${USER}"
|
||||
|
||||
start() {
|
||||
cd ${GOGS_HOME}
|
||||
echo -n "Starting ${SERVICENAME}: "
|
||||
daemon $DAEMON_OPTS --pidfile=${PID} "${GOGS_PATH} web 2>&1 > ${LOGFILE} &"
|
||||
echo $! > ${PID}
|
||||
RETVAL=$?
|
||||
echo
|
||||
[ $RETVAL = 0 ] && touch ${LOCKFILE}
|
||||
|
||||
return $RETVAL
|
||||
}
|
||||
|
||||
stop() {
|
||||
cd ${GOGS_HOME}
|
||||
echo -n "Shutting down ${SERVICENAME}: "
|
||||
killproc -p ${PID} ${NAME}
|
||||
RETVAL=$?
|
||||
echo
|
||||
[ $RETVAL = 0 ] && rm -f ${LOCKFILE} ${PID}
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
status ${NAME} > /dev/null 2>&1 && exit 0
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
status)
|
||||
status -p ${PID} ${NAME}
|
||||
;;
|
||||
restart)
|
||||
stop
|
||||
start
|
||||
;;
|
||||
reload)
|
||||
stop
|
||||
start
|
||||
;;
|
||||
*)
|
||||
echo "Usage: ${NAME} {start|stop|status|restart}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
exit $RETVAL
|
Загрузка…
Ссылка в новой задаче