FogBugz Maintenance Service Setup on Unix or Mac

FogBugz requires a daemon, the FogBugz Maintenance Service, to be running at all times to perform certain routine maintenance tasks. (About the FogBugz Maintenance Service). The FogBugz Maintenance Service is known on Unix as fogbugzmaintd.

Upgrading from FogBugz 3.0 for Unix or Mac?

If you are upgrading FogBugz 3.0 for Unix or Mac, you are already running a daemon called dispatchod. You should remove this daemon now; it is replaced by fogbugzmaintd.

Setting up fogbugzmaintd

  1. Log on as root or issue the su command
  2. Start fogbugzmaintd now:

    $ cd (your FogBugz directory)
    $ cd Accessories
    $ ./fogbugzmaintd start

  3. Add it to your server's startup scripts so it starts automatically when your server is rebooted. The way to do this is, sadly, different on every variety of Unix.

Macintosh OS X (Installer AUTOMATICALLY does this part):

Look in the Accessories folder inside your FogBugz directory. There is a folder there called MacFogBugzMaint. As root, copy this folder into the /Library/StartupItems directory:

$ sudo cp MacFogBugzMaint /Library/StartupItems

Red Hat or Mandrake/Mandriva Linux:

Add a line to the bottom of your /etc/rc.local file:
(your FogBugz directory)/Accessories/fogbugzmaintd start

Gentoo Linux:

Create this init file in the /etc/init.d directory, named fogbugzmaintd:

#!/sbin/runscript
start() {
	ebegin "Starting fogbugzmaintd"
	(your FogBUGZ directory)/Accessories/fogbugzmaintd start
	eend $?
}
stop() {
	ebegin "Stopping fogbugzmaintd"
	(your FogBUGZ directory)/Accessories/fogbugzmaintd stop
	eend $?
}
restart() {
	ebegin "Restarting fogbugzmaintd"
	(your FogBUGZ directory)/Accessories/fogbugzmaintd stop
	(your FogBUGZ directory)/Accessories/fogbugzmaintd start
	eend $?
}

Make the script executable:

$ chmod +x fogbugzmaintd

And add it to the runlevel:

$ rc-update -a fogbugzmaintd default

Debian Linux or Solaris

Create this shell script in your /etc/init.d directory, named fogbugzmaintd:

#!/bin/sh
NAME=fogbugzmaintd
DAEMON=(your FogBugz directory)/Accessories/$NAME
SCRIPTNAME=/etc/init.d/$NAME

# Gracefully exit if FogBugz has been removed.
test -x $DAEMON || exit 0

case "$1" in
  start)
	$DAEMON start
	;;
  stop)
	$DAEMON stop
	;;
  restart|force-reload)
	$DAEMON stop 
	sleep 1
	$DAEMON start ;;
  *)
	echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2
	exit 1
	;;
esac

exit 0

Make the script executable:

$ chmod +x fogbugzmaintd

And add it to the runlevels:

Debian: $ update-rc.d fogbugzmaintd defaults

Solaris: $ ln -s /etc/init.d/fogbugzmaintd /etc/rc3.d/S55fogbugzmaintd

SuSE Linux:

Add a line to the bottom of your /etc/init.d/boot.local file:
(your FogBugz directory)/Accessories/fogbugzmaintd start

FreeBSD:

Create this short shell script in your /usr/local/etc/rc.d directory, named fogbugzmaintd.sh:

#!/bin/sh
(your FogBugz directory)/Accessories/fogbugzmaintd start

Make the script executable:

$ chmod +x fogbugzmaintd.sh