All pastes #487680 Raw Edit

Stuff

public shellscript v1 · immutable
·published 2007-05-14 16:19 UTC
rendered paste body
#! /bin/sh### BEGIN INIT INFO# Provides:          spawn-fcgi# Default-Start:     2 3 4 5# Default-Stop:      0 1 6# Short-Description: fastcgi php spawner# Description:       Spawns php fastcgi instances and maintains them.### END INIT INFO# Author: Foo Bar <foobar@baz.org>## Please remove the "Author" lines above and replace them# with your own name if you copy and modify this script.# Do NOT "set -e"# PATH should only include /usr/* if it runs after the mountnfs.sh scriptPATH=/sbin:/usr/sbin:/bin:/usr/binDESC="php fastcgi spawner"NAME=spawn-fcgiDAEMON=/usr/bin/$NAMEDAEMON_ARGS='-f "/usr/local/bin/php -C 2 -u www-data'PIDPATH=/var/run/fastcgiSOCKPATH=/tmp/SCRIPTNAME=/etc/init.d/$NAMECATCHALL=/var/www/catchallVHOSTPATH=/var/www/vhosts/# Exit if the package is not installed[ -x "$DAEMON" ] || exit 0# Load the VERBOSE setting and other rcS variables. /lib/init/vars.sh# Define LSB log_* functions.# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.. /lib/lsb/init-functions## Function that starts the daemon/service#do_start(){	for file in "$VHOSTPATH/*"	do		  echo $file;		done	# Return	#   0 if daemon has been started	#   1 if daemon was already running	#   2 if daemon could not be started	#start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \	#	|| return 1	#start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \	#	$DAEMON_ARGS \	#	|| return 2	# Add code here, if necessary, that waits for the process to be ready	# to handle requests from services started subsequently which depend	# on this one.  As a last resort, sleep for some time.}## Function that stops the daemon/service#do_stop(){	# Return	#   0 if daemon has been stopped	#   1 if daemon was already stopped	#   2 if daemon could not be stopped	#   other if a failure occurred	start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME	RETVAL="$?"	[ "$RETVAL" = 2 ] && return 2	# Wait for children to finish too if this is a daemon that forks	# and if the daemon is only ever run from this initscript.	# If the above conditions are not satisfied then add some other code	# that waits for the process to drop all resources that could be	# needed by services started subsequently.  A last resort is to	# sleep for some time.	start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON	[ "$?" = 2 ] && return 2	# Many daemons don't delete their pidfiles when they exit.	rm -f $PIDFILE	return "$RETVAL"}## Kill PID's in the $PIDPATH#do_restart() {	#	# If the daemon can reload its configuration without	# restarting (for example, when it is sent a SIGHUP),	# then implement that here.	#	do_stop	do_start	return 0}case "$1" in  start)	[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"	do_start	case "$?" in		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;	esac	;;  stop)	[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"	do_stop	case "$?" in		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;	esac	;;  restart)        [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"        do_stop        case "$?" in          0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;          2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;        esac        ;;                [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"        do_start        case "$?" in          0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;          2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;        esac        ;;          *)        echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2	exit 3        ;;        esac;;