In part of my quest to automate the startup of my MythTV, and in my quest for WAF (Wife approval factor), I’ve identified a few small issues that don’t seem terribly well documented anywhere.
I’m going to document them here, as clearly as I can.
This Howto contains a very simple startup script for automatically starting mythbackend on boot.
I’m using Debian lenny/testing, but this will apply to most Debian versions, and perhaps Ubuntu too.
You’ll need to create a file, lets call it /etc/init.d/mythbackend, with the following in it.
#!/bin/sh
# Start/stop/restart mythbackend
#
# Modification done by Benoit Beauchamp, based on rc.mysqld by
#
# Copyright 2003 Patrick J. Volkerding, Concord, CA
# Copyright 2003 Slackware Linux, Inc., Concord, CA
#
# This program comes with NO WARRANTY, to the extent permitted by law.
# You may redistribute copies of this program under the terms of the
# GNU General Public License.
#
# Start mythbackend:
myth_start() {
if [ -x /usr/local/bin/mythbackend ]; then
# If there is an old PID file (no mythbackend running), clean it up:
if [ -r /var/run/mythbackend.pid ]; then
if ! ps axc | grep mythbackend 1> /dev/null 2> /dev/null ; then
echo "Cleaning up old /var/run/mythbackend.pid."
rm -f /var/run/mythbackend.pid
fi
fi
/usr/local/bin/mythbackend -l /var/log/mythbackend.log -v important,general -p /var/run/mythbackend.pid -d
fi
}
# Stop mythbackend:
myth_stop() {
# If there is no PID file, ignore this request...
if [ -r /var/run/mythbackend.pid ]; then
killall mythbackend
fi
}
# Restart mythbackend:
myth_restart() {
myth_stop
myth_start
}
case "$1" in
'start')
myth_start
;;
'stop')
myth_stop
;;
'restart')
myth_restart
;;
*)
echo "usage $0 start|stop|restart"
esac
Then you’ll have to set that file as executable
chmod +x /etc/init.d/mythbackend
Now, test it and make sure it does what its supposed to.
Make sure mythbackend isn’t running, and then try:
/etc/init.d/mythbackend start
Check to see if its running. If not, check all the paths in the script, if it is, hurray!
Now we need to add it to run on boot, and as a bonus, shutdown mythbackend properly on shutdown
We’ll do this the Debian Way ™
update-rc.d mythbackend defaults 90
And that should do it! Give your machine a reboot and see it mythbackend started on its own.