From owner-freebsd-questions@FreeBSD.ORG Fri Jan 11 19:34:22 2008 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 92EEB16A419 for ; Fri, 11 Jan 2008 19:34:22 +0000 (UTC) (envelope-from ryallsd@gmail.com) Received: from wa-out-1112.google.com (wa-out-1112.google.com [209.85.146.178]) by mx1.freebsd.org (Postfix) with ESMTP id 60C5613C447 for ; Fri, 11 Jan 2008 19:34:22 +0000 (UTC) (envelope-from ryallsd@gmail.com) Received: by wa-out-1112.google.com with SMTP id k17so2068489waf.3 for ; Fri, 11 Jan 2008 11:34:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; bh=wmQaFJNxrfIp3UhpPb2SP/azywz64tgHYUV410lWzts=; b=vE2/9gPtVpfijbcCWy3igxzLdrcVVq7TUH+idOw48pAbfxpWee3247zPAgjXmv/9/rSqBv6t9QbLqCgMepanUWoTCM2Gx4gFYRz6yVIgfH5vB9Z1ZsU8lkC6r5e5QtBW69M2WHRXV5ZmM/LJTBPEi5cGblX3KQwpuHqm9GPuPN4= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=HyyqOr1097iaaBBT7bJe07oMrAOt1KS2ntt9cFSf4qVSQQ8NMMZScF0+ltj9iBwia2TAp/K6X1eafUxjcSsmX6vT5uprpZ4HzbOqZZ5ef5K7bnkF4FD0m4D2Ze++qaGMoGZ6fUCH4qHq3OQM1SfnMGhqIZ6hC9bfIboHjkSIWN8= Received: by 10.114.78.1 with SMTP id a1mr4068045wab.102.1200080061871; Fri, 11 Jan 2008 11:34:21 -0800 (PST) Received: by 10.115.76.18 with HTTP; Fri, 11 Jan 2008 11:34:21 -0800 (PST) Message-ID: Date: Fri, 11 Jan 2008 11:34:21 -0800 From: "Derrick Ryalls" To: "Derek Ragona" In-Reply-To: <6.0.0.22.2.20080111090620.0245e338@mail.computinginnovations.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <6.0.0.22.2.20080110025841.023a9bb8@mail.computinginnovations.com> <6.0.0.22.2.20080110155430.023d29d8@mail.computinginnovations.com> <54db43990801101514y317a2889l7ad18fa4ffce56be@mail.gmail.com> <6.0.0.22.2.20080111090620.0245e338@mail.computinginnovations.com> Cc: Bob Johnson , Kurt Buff , FreeBSD Questions Subject: Re: Nut and RAID on FreeBSD 7.0 X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Jan 2008 19:34:22 -0000 On Jan 11, 2008 7:19 AM, Derek Ragona wrote: > > > At 01:43 AM 1/11/2008, Derrick Ryalls wrote: > > On Jan 10, 2008 3:52 PM, Kurt Buff wrote: > > > > On Jan 10, 2008 3:14 PM, Bob Johnson wrote: > > > On 1/10/08, Derrick Ryalls wrote: > > > > > > > > > > > Perhaps I need to re-evaluate my line of thinking. Light sometime > > > > flicker, but power almost never goes out. When it does it is either > > > > back on in less than 1 minute, or out for hours. If the UPS detects > > > > critical correctly and gives me at least a minute before death, then > > > > that should be plenty of time for the system to auto-shutdown. Guess > > > > I will have to do some experimentation tonight. > > > > > > While you experiment, keep in mind the following sequence of events: > > > > > > -- Power fails > > > -- UPS signals low battery > > > -- System shuts down > > > -- Power returns before UPS shuts itself down > > > --> System never reboots, because it never lost power. > > > > > > Getting around this is the tricky part. I haven't used NUT in about > > > seven years, but back then the recommendation was to shut down to > > > single user mode and run a script that delayed for some time longer > > > than the remaining battery life of the UPS, then rebooted the system. > > > There didn't seem to be an easy hook for running a script after > > > shutting down to single user mode (maybe there is now). > > > > > > I haven't looked at NUT recently, but I expect the various flags that > > > you are supposed to test are another way around this problem. > > > > Trying to test out the scripts, I ran into a road block. I see that > upsmon is working and detecting the events I wanted to detect from > these sorts of entries in /var/log/messages: > > Jan 10 23:28:57 frodo upsmon[80983]: UPS powercom@localhost on line power > > Plus a similar message for going to battery power. However, the > notify executable is having issues and is dumping dozens of lines like > this in /var/log/messages: > > Jan 10 23:28:09 frodo kernel: pid 81029 (upssched), uid 1005: exited > on signal 11 > Jan 10 23:28:09 frodo kernel: pid 81031 (upssched), uid 1005: exited > on signal 11 > Jan 10 23:28:10 frodo kernel: pid 81032 (upssched), uid 1005: exited > on signal 11 > Jan 10 23:28:10 frodo kernel: pid 81033 (upssched), uid 1005: exited > on signal 11 > Jan 10 23:28:11 frodo kernel: pid 81034 (upssched), uid 1005: exited > on signal 11 > Jan 10 23:28:11 frodo kernel: pid 81035 (upssched), uid 1005: exited > on signal 11 > > I tried giving the user the user in question (nutmon) a shell of > /bin/sh instead of /sbin/nologin but that didn't help. Any clues on > how to fix this? Executing upssched from the command line it tells me > not to execute directly (similar to what the man page states), and > manually executing the upsched-cmd shell script does work and the > script itself uses full paths for commands. > > What is in your notify command? > > I set my NOTIFYCMD in upsmon.conf to a simple shell script I created to > send the message via sendmail, here is my script if that helps: > > ============================================ > #!/usr/local/bin/ksh > #set -x > SENDMAIL=/usr/sbin/sendmail > MAIL=/usr/bin/mail > HOSTNAME=/bin/hostname > > MYHOSTNAME=`$HOSTNAME -s` > > echo $* | $MAIL -s "UPS Alert from $MYHOSTNAME" > upsmon@computinginnovations.com > > ================================================ > > -Derek > I was previously pointing it at the provided upssched process which is supposed to handle timers and such and fire off upsshed-cmd which is a provided shell script that I had modified. This is the 'documented' way of doing it and gives the extra benefit of being able to add timers so if the power goes out for 3 seconds, I won't be notified. Using your script directly did work for lost/gained power events so I guess I can go that route. I won't be able to do timers or anything, but I will at least be notified when the power goes out. I'll be checking the safe power down this weekend. Thanks.