Skip to content

Instantly share code, notes, and snippets.

@yinyin
Created June 26, 2012 05:49
Show Gist options
  • Save yinyin/2993581 to your computer and use it in GitHub Desktop.
Save yinyin/2993581 to your computer and use it in GitHub Desktop.
An init script for Redmine2 (written for a debian box)
#! /bin/sh
# /etc/init.d/redmine2
### BEGIN INIT INFO
# Provides: redmine2
# Required-Start: $remote_fs $syslog $named $network $time mysql
# Required-Stop: $remote_fs $syslog $named $network mysql
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Redmine Issue Tracker
# Description: Redmine is a Issue Tracking System
### END INIT INFO
set -e
. /lib/lsb/init-functions
INSTALLDIR=/home/devuser/bin/pkg/redmine-2
#PIDFILE=$INSTALLDIR/tmp/pids/server.pid
PIDFILE=$INSTALLDIR/var/redmine2-mongrel.pid
TERMLOG=/tmp/termlog
redmine_status()
{
if [ -f $PIDFILE ]; then
PID=`cat $PIDFILE`
if [ -d /proc/$PID ]; then
return 0
else
return 1
fi
fi
return 2
}
redmine_start()
{
GEM_HOME=/home/devuser/bin/pkg/ruby1.9/gems /sbin/start-stop-daemon --start -p "$PIDFILE" -b -m -c devuser -g devuser -d "$INSTALLDIR" -x /usr/bin/ruby1.9.1 -- script/rails server mongrel -e production
}
redmine_stop()
{
if [ -f $PIDFILE ]; then
/sbin/start-stop-daemon --stop -v -v -v -p "$PIDFILE"
fi
}
case "$1" in
start)
log_daemon_msg "Starting Redmine2"
redmine_start
log_end_msg 0
;;
stop)
log_daemon_msg "Stopping Redmine2"
redmine_stop
log_end_msg 0
;;
restart)
log_daemon_msg "Restarting Redmine2"
redmine_stop
redmine_start
log_end_msg 0
;;
status)
log_action_begin_msg "checking Redmine2"
redmine_status
RETCODE=$?
if [ "0" = "$RETCODE" ]; then
log_action_end_msg 0 "running"
exit 0
else
log_action_end_msg 0 "not running"
exit 1
fi
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
;;
esac
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment