I finally got this working, for the sake of anyone else who comes across this thread with a similar problem:
Since NOTIFYCMD was working fine with bash scripts, I had it point to a bash script which I used to call my python script, and I set up the bash script to capture errors and write them to a log file: /etc/nut/ups-log.py > /home/pi/Documents/scripts/mylog 2>&1 I didn't realize that bash doesn't log errors anywhere by default. Once I had that, I was able to see immediately that the error was from a partial file path that occurred early in the python script, before any of the logging that I had set up had a chance to kick in. So now I know to use full paths with python. Thanks everyone for your helpful replies, sorry to take up your time with something that ended up not being a NUT problem at all On Wed, Feb 12, 2020 at 4:00 AM <[email protected]> wrote: > Send Nut-upsuser mailing list submissions to > [email protected] > > To subscribe or unsubscribe via the World Wide Web, visit > > https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser > or, via email, send a message with subject or body 'help' to > [email protected] > > You can reach the person managing the list at > [email protected] > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of Nut-upsuser digest..." > > > Today's Topics: > > 1. Re: NOTIFYCMD not running (Roger Price) > 2. Re: NOTIFYCMD not running (Max Pierson-Liénard) > 3. Re: NOTIFYCMD not running (Roger Price) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Tue, 11 Feb 2020 17:18:13 +0100 (CET) > From: Roger Price <[email protected]> > To: nut-upsuser Mailing List <[email protected]> > Subject: Re: [Nut-upsuser] NOTIFYCMD not running > Message-ID: <alpine.LSU.2.20.2002111700480.5507@titan> > Content-Type: text/plain; charset="utf-8"; Format="flowed" > > On Tue, 11 Feb 2020, Max Pierson-Liénard wrote: > > > > When you run that command, does "some text" appear in the system > log? > > When I run Documents/scripts/ups-log.py manually I do see the expected > text echo'ed to the command line. It actually appends to a Google > > Sheet, not the internal log files. > > > > When I would expect to see it triggered by NOTIFYCMD, I don't see any > text printed and nothing shows up at the google sheets. If the > > permission was being denied, would that be logged somewhere? > > Suggestion: in the ups-log.py script, open a local debug logging file with > handle "fd_log" in mode "append". Record every call of ups-log.py in > "fd_log", > whether valid or not. Does "some text" appear in "fd_log"? For the other > calls > of ups-log.py, does anything appear in "fd_log"? > > Roger > > For example: > > # Function open_log_file opens a file for logging > # The file owner will be uid, with group gid, e.g. upsd:daemon > # Returns file handle > def open_log_file (logfile, uid, gid) : > try : > fd_log = open(logfile, 'a') # Opened for current user, re-open if > user change > os.chmod(logfile, 0o664) > os.chown(logfile, uid, gid) > return fd_log > except : > Your favourite error handling ... > > ------------------------------ > > Message: 2 > Date: Wed, 12 Feb 2020 00:54:19 -0800 > From: Max Pierson-Liénard <[email protected]> > To: [email protected] > Subject: Re: [Nut-upsuser] NOTIFYCMD not running > Message-ID: > < > cak31s7b1y_o9ujnqcyfxgrn+qvt+dhrb2pusjynyqcffe5y...@mail.gmail.com> > Content-Type: text/plain; charset="utf-8" > > Philippe Andersson I think tried to respond on this thread but all I see is > your corporate email signature? > > I did some more troubleshooting tonight. TL;DR at the end. First, > confirmed that NOTIFYCMD is in fact firing. So I changed it to: > NOTIFYCMD logger "NOTIFYCMD FIRED!" > followed by: > sudo service nut-client restart > and that message does show up in /var/log/messages when I pull the plug on > the ups, so something is happening. > > Next I tried changing the command to a bash script: > NOTIFYCMD /etc/nut/call-ups-log.sh > > Inside that bash script, I just have this: > > #!/bin/sh > logger "called call-ups-log.sh" > /home/pi/Documents/scripts/ups-log.py "$*" > > "called call-ups-log.sh" shows up in /var/log/messages as expected, but the > python script still isn't getting called. I thought maybe it was something > to do with the directory Documents/scripts/ so I moved it to /etc/nut/ and > reconfigured everything, same result. But at this point the bash script > and python script are in the same directory with the same owner and > permissions. > > TL;DR: I think at this point I've eliminated permissions problems, but > there's something that is preventing NUT NOTIFYCMD from calling a python > script properly. The python script I'm using is here, it's working fine > when I call it from a command line: > https://pastebin.com/AXi67sV6 > > Thanks for all the help and sorry for the text brick! > > > Moved call-ups-log.sh to Documents/scripts, and all of a sudden it's not > working anymore either. Okay, so maybe it's the directory. > > On Tue, Feb 11, 2020 at 6:56 AM < > [email protected]> > wrote: > > > Send Nut-upsuser mailing list submissions to > > [email protected] > > > > To subscribe or unsubscribe via the World Wide Web, visit > > > > https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser > > or, via email, send a message with subject or body 'help' to > > [email protected] > > > > You can reach the person managing the list at > > [email protected] > > > > When replying, please edit your Subject line so it is more specific > > than "Re: Contents of Nut-upsuser digest..." > > > > > > Today's Topics: > > > > 1. Re: NOTIFYCMD not running (Philippe Andersson) > > 2. Re: NOTIFYCMD not running (Philippe Andersson) > > > > > > ---------------------------------------------------------------------- > > > > Message: 1 > > Date: Tue, 11 Feb 2020 14:19:58 +0100 > > From: Philippe Andersson <[email protected]> > > To: <[email protected]> > > Subject: Re: [Nut-upsuser] NOTIFYCMD not running > > Message-ID: <[email protected]> > > Content-Type: text/plain; charset="utf-8" > > > > > > Disclaimer | Use of IBA e-communication< > > https://iba-worldwide.com/disclaimer> > > > > The contents of this e-mail message and any attachments are intended > > solely for the recipient (s) named above. This communication is intended > to > > be and to remain confidential and may be protected by intellectual > property > > rights. Any use of the information contained herein (including but not > > limited to, total or partial reproduction, communication or distribution > of > > any form) by persons other than the designated recipient(s) is > prohibited. > > Please notify the sender immediately by e-mail if you have received this > > e-mail by mistake and delete this e-mail from your system. E-mail > > transmission cannot be guaranteed to be secure or error-free. Ion Beam > > Applications does not accept liability for any such errors. Thank you for > > your cooperation. > > -------------- next part -------------- > > An embedded message was scrubbed... > > From: Philippe Andersson <[email protected]> > > Subject: Re: [Nut-upsuser] NOTIFYCMD not running > > Date: Tue, 11 Feb 2020 14:19:58 +0100 > > Size: 16341 > > URL: < > > > http://alioth-lists.debian.net/pipermail/nut-upsuser/attachments/20200211/44658975/attachment-0001.mht > > > > > > > ------------------------------ > > > > Message: 2 > > Date: Tue, 11 Feb 2020 15:41:50 +0100 > > From: Philippe Andersson <[email protected]> > > To: <[email protected]> > > Subject: Re: [Nut-upsuser] NOTIFYCMD not running > > Message-ID: <[email protected]> > > Content-Type: text/plain; charset="utf-8" > > > > > > Disclaimer | Use of IBA e-communication< > > https://iba-worldwide.com/disclaimer> > > > > The contents of this e-mail message and any attachments are intended > > solely for the recipient (s) named above. This communication is intended > to > > be and to remain confidential and may be protected by intellectual > property > > rights. Any use of the information contained herein (including but not > > limited to, total or partial reproduction, communication or distribution > of > > any form) by persons other than the designated recipient(s) is > prohibited. > > Please notify the sender immediately by e-mail if you have received this > > e-mail by mistake and delete this e-mail from your system. E-mail > > transmission cannot be guaranteed to be secure or error-free. Ion Beam > > Applications does not accept liability for any such errors. Thank you for > > your cooperation. > > -------------- next part -------------- > > An embedded message was scrubbed... > > From: Philippe Andersson <[email protected]> > > Subject: Re: [Nut-upsuser] NOTIFYCMD not running > > Date: Tue, 11 Feb 2020 15:41:50 +0100 > > Size: 32550 > > URL: < > > > http://alioth-lists.debian.net/pipermail/nut-upsuser/attachments/20200211/4a868e92/attachment.mht > > > > > > > ------------------------------ > > > > Subject: Digest Footer > > > > _______________________________________________ > > Nut-upsuser mailing list > > [email protected] > > https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser > > > > ------------------------------ > > > > End of Nut-upsuser Digest, Vol 176, Issue 6 > > ******************************************* > > > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: < > http://alioth-lists.debian.net/pipermail/nut-upsuser/attachments/20200212/a19625c2/attachment-0001.html > > > > ------------------------------ > > Message: 3 > Date: Wed, 12 Feb 2020 10:17:31 +0100 (CET) > From: Roger Price <[email protected]> > To: nut-upsuser Mailing List <[email protected]> > Subject: Re: [Nut-upsuser] NOTIFYCMD not running > Message-ID: <alpine.LSU.2.20.2002121013070.5507@titan> > Content-Type: text/plain; charset="utf-8"; Format="flowed" > > On Wed, 12 Feb 2020, Max Pierson-Liénard wrote: > > > Next I tried changing the command to a bash script: > > NOTIFYCMD /etc/nut/call-ups-log.sh > > > > Inside that bash script, I just have this: > > > > #!/bin/sh > > logger "called call-ups-log.sh" > > /home/pi/Documents/scripts/ups-log.py "$*" > > > > "called call-ups-log.sh" shows up in /var/log/messages as expected, but > the python script still isn't getting called. > > The good news is that the NOTIFYCMD mechanism is working. This is > beginning to > look like a Python problem. > > Roger > > ------------------------------ > > Subject: Digest Footer > > _______________________________________________ > Nut-upsuser mailing list > [email protected] > https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser > > ------------------------------ > > End of Nut-upsuser Digest, Vol 176, Issue 7 > ******************************************* >
_______________________________________________ Nut-upsuser mailing list [email protected] https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser
