Help With rc.d Script
Paul Schmehl
pschmehl_lists at tx.rr.com
Thu Jun 11 02:03:27 UTC 2009
--On June 10, 2009 6:12:23 PM -0700 Drew Tomlinson
<drew at mykitchentable.net> 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"
> (http://www.freebsd.org/doc/en/articles/rc-scripting/rcng-daemon.html).
>
> 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
># REQUIRE: NETWORKING
># 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.
>
Where is urchin located? /usr/local/bin? /usr/local/bin/urchin/bin? Or
somewhere else? Is urchinctl a shell or perl script?
Paul Schmehl, If it isn't already
obvious, my opinions are my own
and not those of my employer.
******************************************
WARNING: Check the headers before replying
More information about the freebsd-questions
mailing list