Hi Denis, 2012/1/4 Serov Denis <[email protected]>
> Hello NUT Team! > > I've got some questions about NUT (Windows port), which I couldn't resolve > by myself. > > I have a test environment that contains: > 1. NUT network server (OS: Debian 6.0.3, x64, NUT 2.4.3) > 2. Linux clients (OS: different, NUT 2.4.3, 2.6.1) > 3. Windows clients (OS: Windows Standard Server Core 2008 R1 SP1, Windows > 7 x64 Ultimate SP1, NUT-Installer-2.6.1-1.msi) > 4. APC Back-UPS ES 550 connected to network server > > Currently, network server and Linux clients are working well. I can see > UPS variables via "upsc" (server/clients), can shutdown slaves and masters > via "upsmon -c fsd", no problem with timers and early shutdown script, > etc... > > Now, I am trying to set the same configuration on Windows Server as on > Linux clients and have no success. I use the following configuration (don't > carry about credentials =): > > nut.conf > MODE = netclient > > upsmon.conf > RUN_AS_USER user > MONITOR [email protected] 1 monuser secret slave > MINSUPPLIES 1 > SHUTDOWNCMD "shutdown.exe -s -t 0 -c \"Bla-bla-bla.\"" > NOTIFYCMD upssched.exe > POLLFREQ 5 > POLLFREQALERT 5 > HOSTSYNC 15 > DEADTIME 15 > POWERDOWNFLAG "C:\\killpower.flag" > NOTIFYFLAG ONLINE SYSLOG+WALL+EXEC > NOTIFYFLAG ONBATT SYSLOG+WALL+EXEC > RBWARNTIME 43200 > NOCOMMWARNTIME 300 > FINALDELAY 5 > > upsd.users > [user] > password = 123qweASD > [mainups] > password = secret > upsmon slave > upssched.conf > CMDSCRIPT upsscript.cmd > PIPEFN C:\\NUT\\NUT\\upssched.pipe > LOCKFN C:\\NUT\\NUT\\upssched.lock > ... > > In this configuration, I can see UPS variables, Windows Server is shutting > down on "upsmon -c fsd". > > For example: > upsc [email protected] > battery.charge: 100 > battery.charge.low: 10 > battery.charge.warning: 50 > battery.date: 2011/12/30 > battery.mfr.date: 2011/12/30 > battery.runtime: 6675 > battery.runtime.low: 120 > battery.type: PbAc > battery.voltage: 13.5 > battery.voltage.nominal: 12.0 > device.mfr: American Power Conversion > device.model: Back-UPS ES 525 > ... > > 1. It seems that it impossible to use long file names with spaces in > PIPEFN/LOCKFN/NOTIFYCMD/... (like "C:\Program Files > (x86)\NUT\sbin\upssched.exe") or I couldn't find the way (error: cannot > find "C:\Program "). Environment variables are not supported too (it would > be great to use %ProgramFiles% in the paths). > > This problem is the reason, why I had to use "C:\NUT\NUT" directory for > pipe & lock. Moreover, to start "upssched.exe" via NOTIFYCMD, I included > "C:\Program Files (x86)\NUT\bin" and "C:\Program Files (x86)\NUT\sbin" into > %PATH% variable. > > 2. I added line "AT ONBATT * EXECUTE Dennis" into end of "upssched.conf". > Then "mainups" is going to battery, NUT writes proper event into > Application Log: "upsmon - UPS [email protected] on battery.". It is > OK, but strange thing is that the script "upsscript.cmd" was not executed. > I have checked it several times (even using Process Monitor from > sysinternals - process "upssched.exe" is not started at all). The next > interesting thing: I started "upsmon -DDD" and ... at the next battery > event, "upssched.exe" was executed and "upsscript.cmd" has been executed > too. > > By default, there are "nut.exe" and one "upsmon.exe" processes in Windows > Server (after its starting). There are two "upsmon" in Linux client. It is > correct situation? Should I start one more instance of "upsmon" to execute > CMDSCRIPT successfully or I have a problem in my configs oor something else? > > 3. I have tried to use timers. If remove previous line from > "upssched.conf" and add "AT ONBATT * START-TIMER onbattwarn 3", "AT ONLINE > * CANCEL-TIMER onbattwarn", the behaviour will be like in previous item: no > running "upssched.exe" without second instance of "upsmon", but with > additional effects =). "upssched.exe" is starting, "upssched.lock" file is > created, then process is terminated with event "upssched.exe - Failed to > connect to parent and failed to create parent: Permission denied.". > > I couldn't fix this problem =(. I've checked the permissions, user's > accounts for all NUT processes/FS/etc. It seems that everything is OK. I > think that the problem is in get_lock function in "upssched.c". No ideas > why, anyway, GetLastError returns "permission denied" strongly. > > 4. A few times, I've got error "upssched.exe - open /dev/null: No such > file or directory." during my experiments, but I have no idea how to > reproduce it =( > > The main question: is there someone who has success with timers on Windows > x64 platform? I would like to use them... > > Thanks! > the Windows port is not yet fully functional, nor as mature as the Unix versions. Currently, upssched is not working. So you can only use the simple scheduling approach: http://www.networkupstools.org/docs/user-manual.chunked/ar01s07.html#_the_simple_approach_using_your_own_script I can't give any date on a fix for this point though, since it's bound to Eaton resource allocation (which is sponsoring this feature). cheers, Arnaud -- Linux / Unix Expert R&D - Eaton - http://powerquality.eaton.com Network UPS Tools (NUT) Project Leader - http://www.networkupstools.org/ Debian Developer - http://www.debian.org Free Software Developer - http://arnaud.quette.free.fr/
_______________________________________________ Nut-upsuser mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/nut-upsuser

