Date: Wed, 10 Jun 2009 19:09:17 -0700 From: Drew Tomlinson <drew@mykitchentable.net> To: Paul Schmehl <pschmehl_lists@tx.rr.com> Cc: freebsd-questions@FreeBSD.org Subject: Re: Help With rc.d Script Message-ID: <4A30674D.1040804@mykitchentable.net> In-Reply-To: <6322EB049C37BA76C25CD076@Macintosh-2.local> References: <6322EB049C37BA76C25CD076@Macintosh-2.local>
next in thread | previous in thread | raw e-mail | index | archive | help
Paul Schmehl wrote: > --On June 10, 2009 6:12:23 PM -0700 Drew Tomlinson > <drew@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? There is no actual "urchin" as far as I know. The control file is /usr/local/urchin/bin/urchinctl. It is a executable file: urchin# file /usr/local/urchin/bin/urchinctl /usr/local/urchin/bin/urchinctl: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, stripped After running "/usr/local/urchin/bin/urchinctl start", I have these related processes: urchin# ps acux | grep urchin root 70937 0.0 0.0 3184 1996 ?? Ss 7:00PM 0:00.01 urchinwebd nobody 70938 0.0 0.0 3184 2000 ?? I 7:00PM 0:00.00 urchinwebd nobody 70939 0.0 0.0 3184 2000 ?? I 7:00PM 0:00.00 urchinwebd nobody 70940 0.0 0.0 3184 2000 ?? I 7:00PM 0:00.00 urchinwebd nobody 70941 0.0 0.0 3184 2000 ?? I 7:00PM 0:00.00 urchinwebd nobody 70942 0.0 0.0 3184 2000 ?? I 7:00PM 0:00.00 urchinwebd nobody 70944 0.0 0.0 1460 720 ?? Ss 7:00PM 0:00.03 urchind nobody 70946 0.0 0.0 1332 668 ?? Is 7:00PM 0:00.51 urchind And conversely, "/usr/local/urchin/bin/urchinctl stop" removes all of the above processes. Thanks, Drew -- Be a Great Magician! Visit The Alchemist's Warehouse http://www.alchemistswarehouse.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4A30674D.1040804>