odyssey/scripts/debian/init

107 lines
2.0 KiB
Plaintext
Raw Normal View History

#!/bin/sh
#
# chkconfig: 2345 99 01
# description: @NAME@
### BEGIN INIT INFO
# Provides: @NAME@
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start @NAME@
# Description: Start @NAME@
### END INIT INFO
NAME="@NAME@"
USER="@USER@"
GROUP="@GROUP@"
LOGDIR="@DEST_LOG_DIR@"
PIDDIR="@DEST_PID_DIR@"
PIDFILE="@DEST_PID_PATH@"
BINFILE="@DEST_BIN_PATH@"
CONFFILE="@DEST_CONFIG_PATH@"
CMD="start-stop-daemon --verbose --pidfile $PIDFILE"
create_dir() {
if [ ! -d $1 ]; then
mkdir -p $1
chown $USER:$GROUP $1
fi
}
do_action() {
echo -n "$1 $NAME: "
ERROR=$($CMD $2 2>&1)
EXIT=$?
if [ $EXIT -eq 0 ]; then
echo "OK"
else
echo "FAIL"
if [ -n "$ERROR" ]; then
echo "$ERROR"
fi
fi
return $EXIT
}
start() {
create_dir $LOGDIR
create_dir $PIDDIR
# temporary unlimit core file size for debug
ulimit -c unlimited
do_action "Starting" "--exec $BINFILE --chuid $USER:$GROUP --start -- $CONFFILE"
}
stop() {
do_action "Stopping" "--stop"
}
reload() {
do_action "Reloading" "--signal HUP --stop"
}
status() {
ERROR=$($CMD --status 2>&1)
EXIT=$?
case $EXIT in
0)
echo "$NAME is running (pid $(cat $PIDFILE))"
;;
1)
echo "$NAME is not running but pid file $PIDFILE exist"
;;
2)
echo "$NAME is not running"
;;
*)
echo "unable to determine $NAME status: $ERROR"
;;
esac
return $EXIT
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|force-reload)
stop && start
;;
reload)
reload
;;
status)
status
;;
*)
echo "Usage: $0 {start|stop|restart|reload|force-reload|status}"
exit 1
;;
esac
exit $?