99 lines
1.9 KiB
Bash
99 lines
1.9 KiB
Bash
#!/bin/sh
|
|
#
|
|
# Start the Cherokee Web Server.
|
|
# http://www.cherokee-project.com/
|
|
#
|
|
# The following signals are supported by Cherokee:
|
|
# SIGHUP Restarts the server gracefully
|
|
# SIGUSR1 Restarts the server closing all the opened connections
|
|
# SIGUSR2 Reopens the log files
|
|
# SIGTERM Exits
|
|
#
|
|
# Written by Pablo Hernan Saro (pablosaro@gmail.com)
|
|
|
|
NAME=cherokee
|
|
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/lib/cherokee
|
|
DAEMON=/usr/sbin/cherokee
|
|
PIDFILE=/var/run/cherokee.pid
|
|
CONF=/etc/cherokee/cherokee.conf
|
|
OPTIONS="-d -C $CONF"
|
|
|
|
export PATH
|
|
|
|
test -f $DAEMON || exit 0
|
|
|
|
case "$1" in
|
|
start)
|
|
echo "Starting $NAME web server..."
|
|
$DAEMON $OPTIONS
|
|
sleep 2
|
|
echo -n "done"
|
|
;;
|
|
|
|
stop)
|
|
echo "Stopping $NAME web server..."
|
|
if [ -f $PIDFILE ]; then
|
|
PID=`cat $PIDFILE`
|
|
kill -s TERM $PID
|
|
sleep 4
|
|
echo -n "done"
|
|
else
|
|
echo -n "Error: $PIDFILE does not exist."
|
|
fi
|
|
;;
|
|
|
|
reload)
|
|
echo "Reloading $NAME configuration"
|
|
if [ -f $PIDFILE ]; then
|
|
PID=`cat $PIDFILE`
|
|
kill -s HUP $PID
|
|
sleep 3
|
|
echo -n "done"
|
|
else
|
|
echo -n "Error: $PIDFILE does not exist."
|
|
fi
|
|
;;
|
|
|
|
rotate-logs)
|
|
echo "Rotating logs"
|
|
if [ -f $PIDFILE ]; then
|
|
PID=`cat $PIDFILE`
|
|
kill -s USR2 $PID
|
|
sleep 3
|
|
echo -n "done"
|
|
else
|
|
echo -n "Error: $PIDFILE does not exist."
|
|
fi
|
|
;;
|
|
|
|
restart)
|
|
echo "Restarting the server closing all the opened connections"
|
|
if [ -f $PIDFILE ]; then
|
|
PID=`cat $PIDFILE`
|
|
kill -s USR1 $PID
|
|
sleep 4
|
|
echo -n "done"
|
|
else
|
|
echo -n "Error: $PIDFILE does not exist."
|
|
fi
|
|
;;
|
|
|
|
force-restart)
|
|
$0 stop
|
|
$0 start
|
|
;;
|
|
|
|
*)
|
|
echo "Usage: $0 {start|stop|reload|rotate-logs|restart|force-restart}"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
if [ $? == 0 ]; then
|
|
echo .
|
|
exit 0
|
|
else
|
|
echo failed
|
|
exit 1
|
|
fi
|