tarbeite
2008-Sep-17 12:29 UTC
[Nut-upsuser] FW: Setup of upssched on opensuse 11 - examined pipefn ad lockfm
On 9/16/08 3:35 PM, "Arjen de Korte" <nut+users at de-korte.org> wrote:> Citeren tarbeite <tarbeite at fit.edu>: > >> Running opensuse 11 with two ups that can be seen via web interface and post >> messages on the console. > > Please post the contents of /etc/ups/upssched.conf here. Also make > sure that the directory mentioned in PIPEFN and LOCKFN exists and is > writeable by the user running upssched (typically 'upsd' on openSUSE). > > Best regards, ArjenArjen; Thanks for the pointers. I looked at the lockfn and pipefn location as shown in the upssched.conf file. Mine both point to /var/lib/ups/upssched/upssched.pipe and /var/lib/ups/upssched/upssched.lock. Both of these files or directories don't exsist. Should I create them here or put them else where. Also how to you make the .pipe and .lock file or does it get generated automatically? Second you here is my upssched.conf as requested: # Network UPS Tools - upssched.conf sample file # # ===========================================================================# # CMDSCRIPT <scriptname> # # This script gets called to invoke commands for timers that trigger. # It is given a single argument - the <timername> in your # AT ... START-TIMER defines. # # *** This must be defined *before* the first AT line. Otherwise the # program will complain and exit without doing anything. # # A shell script with a big case..esac construct should work nicely for this. # An example has been provided to help you get started. CMDSCRIPT /usr/bin/upssched-cmd # ===========================================================================# # PIPEFN <filename> # # This sets the file name of the FIFO that will pass communications between # processes to start and stop timers. This should be set to some path where # normal users can't create the file, due to the possibility of symlinking # and other evil. # # Note: if you are running Solaris or similar, the permissions that # upssched sets on this file *are not enough* to keep you safe. If # your OS ignores the permissions on a FIFO, then you MUST put this in # a protected directory! # # Note 2: by default, upsmon will run upssched as whatever user you have # defined with RUN_AS_USER in upsmon.conf. Make sure that user can # create files and write to files in the path you use for PIPEFN and # LOCKFN. # # My recommendation: create a special directory for upssched, make it # owned by your upsmon user, then use it for both. # # This is commented out by default to make you visit this file and think # about how your system works before potentially opening a hole. # PIPEFN /var/lib/ups/upssched/upssched.pipe # ===========================================================================# # LOCKFN <filename> # # REQUIRED. This was added after version 1.2.1. # # upssched needs to be able to create this filename in order to avoid # a race condition when two events are dispatched from upsmon at nearly # the same time. This file will only exist briefly. It must not be # created by any other process. # # You should put this in the same directory as PIPEFN. # LOCKFN /var/lib/ups/upssched/upssched.lock # ===========================================================================# # AT <notifytype> <upsname> <command> # # Define a handler for a specific event <notifytype> on UPS <upsname>. # # <upsname> can be the special value * to apply this handler to every # possible value of <upsname>. # # Run the command <command> via your CMDSCRIPT when it happens. # # Note that any AT that matches both the <notifytype> and the <upsname> # for the current event will be used. # ===========================================================================# # Possible AT commands # # - START-TIMER <timername> <interval> # # Start a timer called <timername> that will trigger after <interval> # seconds, calling your CMDSCRIPT with <timername> as the first # argument. # # Example: # Start a timer that'll execute when any UPS (*) has been gone 10 seconds # # AT COMMBAD * START-TIMER upsgone 10 # AT ONBATT tim_ups at localhost START-TIMER timonbattwarn 10 # AT ONBATT test_ups at localhost START-TIMER testonbattwarn 10 # ----------------------------------------------------------------------- # # - CANCEL-TIMER <timername> [cmd] # # Cancel a running timer called <timername>, if possible. If the timer # has passed then pass the optional argument <cmd> to CMDSCRIPT. # # Example: # If a specific UPS (myups at localhost) comes back online, then stop the # timer before it triggers # # AT COMMOK myups at localhost CANCEL-TIMER upsgone # AT ONLINE tim_ups at localhost CANCEL-TIMER timonbattwarn # AT ONLINE test_ups at localhost CANCEL-TIMER testbattwarn # ----------------------------------------------------------------------- # # - EXECUTE <command> # # Immediately pass <command> as an argument to CMDSCRIPT. # # Example: # If any UPS (*) reverts to utility power, then execute # 'ups-back-on-line' via CMDSCRIPT. # AT ONLINE * EXECUTE ups-back-on-line AT ONBATT * EXECUTE onbattwarn Thanks again ------ End of Forwarded Message