> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> On Behalf Of Jake Conk
> Sent: Tuesday, 18 September 2007 6:36 PM
> To: [email protected]
> Subject: Simple startup daemon's on boot question?
>
> Hello,
>
> Simple noob question... I've installed a few packages (ie nrpe2 and
> openvpn) that on other systems like Linux and even BSD based systems
> such as FreeBSD provide means of a rc script which can start and stop
> the service and you can configure this script to be executed on boot.
>
> After installing these packages on OpenBSD I've listed the package
> contents and don't notice any equivalent files that would do this. Are
> we supposed to write our own startup scripts and place them in
> /etc/rc.local to be executed when the system boots? Does OpenBSD not
> use rc scripts that start/stop/restart/ and status applications?
I'm probably going to get burnt for this but :-)
Put this in /etc/rc.conf.local:
---
local_startup_dir=/etc/rc.d
---
Put this in /etc/rc.local
------
. /etc/rc.conf.local
for f in ${local_startup_dir}/*.sh ; do
if [ -x $f ]; then
logger -p daemon.notice -t rc.local "Starting $f"
$f start
sleep 1
fi
done
-------
Create the /etc/rc.d directory and plonk start/stop
executable scripts in there (should all end in .sh).
To turn a script off temporarily, make it non-executable
or change .sh to .sh.off or something.
Use numbers (01, 02 etc) in the front of the filename
to determine which scripts run first..
I use a template script like this:
----------
#!/bin/sh
#
# To start the pf-syslog log catcher
#
what=syslog-ng
where=/usr/local/sbin
args=""
KillProc()
{
proc=$1
sig=$2
pid=`ps -xo pid,args | grep -v grep | grep "$proc" | awk '{print $1}'`
if [ "X$pid" != "X" ]; then
kill -$sig $pid
echo $pid
else
echo "Nothing to kill"
fi
}
case "$1" in
"start")
if [ -f $where/$what ]; then
echo "Starting $what"
/$where/$what $args
fi
;;
"stop")
echo "Stopping $what"
KillProc $what TERM
exit 0
;;
*)
echo "$0: Usage $0 start||stop "
;;
esac
exit 0
------------
I have found over the years that this approach has a
lot of benefits and few drawbacks.
Introducing fresh admin staff to BSD is a lot easier
if they don't have to do the "grep for PID"
"kill -TERM PID" thing to stop a running "service".
And of course "look in /etc/rc.local",
work out how to start it then start it..
Believe it or not, I've had people reboot servers in
order to stop and start a service <sigh>..
ciao
dave
---
Dave Edwards