Help With rc.d Script

Tim Judd tajudd at
Thu Jun 11 02:21:22 UTC 2009

since the rc.d scripts (as much as lots of other scripts in BSD are..)
are borne shell scripts, can't 'set -x' be in the script to show the
flow of it running???

That's what I'd try first.


On 6/10/09, Drew Tomlinson <drew at> wrote:
> I installed a software named "urchin" on my FBSD 7.2 box.
> Unfortunately, it didn't come with an rc.d script to automate startup
> and shutdown.  And even more unfortunately, I can't seem to get my head
> around the concepts in "Practical rc.d scripting in BSD"
> (
> This is the command that starts the app:
> /usr/local/urchin/bin/urchinctl
> And here are the options:
> Usage: urchinctl [-v] [-h] [-e] [-s|-w] [-p port] action
>    where:
>       -v  prints out the version of urchinctl
>       -h  prints out this information
>       -e  activates encryption (SSL) in the webserver
>       -s  performs the action on the Urchin scheduler ONLY
>       -w  performs the action on the Urchin webserver ONLY
>       -p  specifies the port for the webserver to listen on
>       action is either: start, stop, restart, or status
>       start:   starts the webserver and scheduler
>       stop:    stops the webserver and scheduler
>       restart: stops and then starts the webserver and scheduler
>       status:  prints out whether the webserver and scheduler are running
>    By default, the action is performed on both the webserver and the
>    schedulers unless the -s or -w options are specified
> All I want to do is create a script within the rc.d framework that runs
> "/usr/local/urchin/bin/urchinctl start" when the system boots and
> "/usr/local/urchin/bin/urchinctl stop" when the system shuts down.
> Following the examples in the guide mentioned above, here is my attempt
> at that file:
> #!/bin/sh
> # PROVIDE: urchin
> # KEYWORD: shutdown
> #
> # Add the following line to /etc/rc.conf to enable urchin:
> # urchin_enable="YES" (bool):   Set to "NO" by default.
> #                               Set it to "YES" to enable urchin.
> . /etc/rc.subr
> name="urchin"
> rcvar=`set_rcvar`
> command="/usr/local/urchin/bin/urchinctl "
> eval "${rcvar}=\${${rcvar}:-'NO'}"
> load_rc_config $name
> run_rc_command "$1"
> I have also ensured that 'urchin_enable="YES"' is in /etc/rc.conf.
> However when I run the rc.d script, the urchinctl appears to run but
> doesn't like whatever arguments that are passed.  See this output:
> urchin# ./urchin-server start
> Starting urchin.
> Usage: urchinctl [-v] [-h] [-e] [-s|-w] [-p port] action
> <snipped rest of options already shown above>
> I'm sure I'm missing some simple concept.  I'd really appreciate a kick
> in the right direction.
> Thanks,
> Drew
> --
> Be a Great Magician!
> Visit The Alchemist's Warehouse
> _______________________________________________
> freebsd-questions at mailing list
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at"

More information about the freebsd-questions mailing list