Date: Thu, 17 Jun 2004 22:09:59 +0000 From: "Stefan A. Deutscher" <sa.deutscher@tiscali.de> To: freebsd-questions@freebsd.org Subject: Re: Best place to spin down disk after boot? Message-ID: <20040617220959.B19831@tiscali.de> In-Reply-To: <20040614003722.A19831@tiscali.de>; from Stefan A. Deutscher on Mon, Jun 14, 2004 at 12:37:22AM %2B0000 References: <20040614003722.A19831@tiscali.de>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jun 14, 2004 at 12:37:22AM +0000, Stefan A. Deutscher wrote: > > Hi, I have a 5.1Release machine with currently four SCSI disks, out of > which I need only two at any given time (system and /home). The other > ones are an alternative system disk, and an OS/2 disk. [ snip ] > To reduce noise and heat production, I am going to spin down two SCSI > disks on one of my machines with > > camcontrol stop -n da -u 0 > camcontrol stop -n da -u 2 > [ snip ] > To spin down the disks right after boot, I ponder sticking things > either in the /etc/rc.local (seems to be going out of style though) or > as a separate script in /etc/rc.d/. Any thoughts on that would be > appreciated. As these commands take a while to return with a success > message I'd like to do that in the background, and I wish to log it > somewhere. Is there 'the right' way to send the camcontrol messages to > syslog or the dmesg file (all true believers shall open their egg at > the right end!)? Following up to myself, I cooked the following script to be placed in /etc/rc.d/, it works fine and does what I want it to do. Maybe it helps someone else to save time to accomplish the same thing. Now I just wonder whether it would be more elegant to place a script that does the actual work in /usr/local/bin and just launch that one from a small script in /etc/rc.d/. I suppose it's a matter of taste. Oh - does stuff like this merit submission to ports? [ --- cut here --- ] #!/bin/sh # # Script to spin down unneeded SCSI disks right after system start # and log this in the system log (which should be up by then) using # /usr/bin/logger (the partition holding it should be mounted by then): # PROVIDE: spindown_disks # REQUIRE: mountall mountd syslogd # KEYWORD: FreeBSD LOGGER="/usr/bin/logger -s -t camcontrol" PROGNAME=`basename $0` case "$1" in start|faststart) ${LOGGER} Spinning down SCSI disks not needed ... ( /sbin/camcontrol stop -n da -u 0 > /dev/null && \ ${LOGGER} da0 stopped successfully. ) \ || ${LOGGER} da0 could not be stopped ( /sbin/camcontrol stop -n da -u 2 > /dev/null && \ ${LOGGER} da2 stopped successfully. ) \ || ${LOGGER} da2 could not be stopped ;; stop) ;; *) echo "${PROGNAME}: unknown option '$1' - should be 'start', 'faststart' or 'stop'" >&2 ;; esac # eof. [ --- cut here --- ] Cheers, Stefan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040617220959.B19831>