Add a CentOS init script
This commit is contained in:
		
							parent
							
								
									3cfa4a581c
								
							
						
					
					
						commit
						5e48c89c5e
					
				
					 1 changed files with 92 additions and 0 deletions
				
			
		
							
								
								
									
										92
									
								
								scripts/init/centos/gogs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										92
									
								
								scripts/init/centos/gogs
									
									
									
									
									
										Normal file
									
								
							|  | @ -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 | ||||
		Loading…
	
		Reference in a new issue