Created
August 13, 2010 11:10
-
-
Save sinefunc/522708 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /bin/sh | |
### BEGIN INIT INFO | |
# Provides: skeleton | |
# Required-Start: $local_fs $remote_fs | |
# Required-Stop: $local_fs $remote_fs | |
# Default-Start: 2 3 4 5 | |
# Default-Stop: S 0 1 6 | |
# Short-Description: Example initscript | |
# Description: This file should be used to construct scripts to be | |
# placed in /etc/init.d. | |
### END INIT INFO | |
# | |
# Author: Ryan Norbauer <[email protected]> | |
# | |
set -e | |
PATH=/opt/nginx/sbin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin | |
DESC="nginx daemon" | |
NAME=nginx | |
DAEMON=/opt/nginx/sbin/$NAME | |
PIDFILE=/opt/nginx/logs/$NAME.pid | |
SCRIPTNAME=/etc/init.d/$NAME | |
# Gracefully exit if the package has been removed. | |
test -x $DAEMON || exit 0 | |
# Read config file if it is present. | |
#if [ -r /etc/default/$NAME ] | |
#then | |
# . /etc/default/$NAME | |
#fi | |
# | |
# Function that starts the daemon/service. | |
# | |
d_start() { | |
start-stop-daemon --start --quiet --pidfile $PIDFILE \ | |
--exec $DAEMON \ | |
|| echo -n " already running" | |
} | |
# | |
# Function that stops the daemon/service. | |
# | |
d_stop() { | |
start-stop-daemon --stop --quiet --pidfile $PIDFILE \ | |
--name $NAME \ | |
|| echo -n " not running" | |
} | |
# | |
# Function that sends a SIGHUP to the daemon/service. | |
# | |
d_reload() { | |
start-stop-daemon --stop --quiet --pidfile $PIDFILE \ | |
--name $NAME --signal 1 | |
} | |
case "$1" in | |
start) | |
echo -n "Starting $DESC: $NAME" | |
d_start | |
echo "." | |
;; | |
stop) | |
echo -n "Stopping $DESC: $NAME" | |
d_stop | |
echo "." | |
;; | |
#reload) | |
# | |
# If the daemon can reload its configuration without | |
# restarting (for example, when it is sent a SIGHUP), | |
# then implement that here. | |
# | |
# If the daemon responds to changes in its config file | |
# directly anyway, make this an "exit 0". | |
# | |
# echo -n "Reloading $DESC configuration..." | |
# d_reload | |
# echo "done." | |
#;; | |
restart|force-reload) | |
# | |
# If the "reload" option is implemented, move the "force-reload" | |
# option to the "reload" entry above. If not, "force-reload" is | |
# just the same as "restart". | |
# | |
echo -n "Restarting $DESC: $NAME" | |
d_stop | |
# One second might not be time enough for a daemon to stop, | |
# if this happens, d_start will fail (and dpkg will break if | |
# the package is being upgraded). Change the timeout if needed | |
# be, or change d_stop to have start-stop-daemon use --retry. | |
# Notice that using --retry slows down the shutdown process somewhat. | |
sleep 1 | |
d_start | |
echo "." | |
;; | |
*) | |
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 | |
exit 3 | |
;; | |
esac | |
exit 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment