Re: Edited: <on-connect> / <on-disconnect> not working
Jack Elliott <[email protected]> Wed, 20 Sep 2023 08:24:29 -0700
| Newsgroups | gmane.comp.audio.icecast.general |
|---|---|
| Message-ID | <[email protected]> |
Hi all, I am still trying to debug this. Summary, I am using <on-connect> in my icecast.xml to launch an email when a source-client connects. Here is the line in icecast.xml: <on-connect>/home/kpovdjs/bin/email_onconnect.sh</on-connect> The problem is that this script doesn't do anything when icecast runs it. The script works if I run it as user kpovdjs (me). But if I su to user icecast2, it does nothing. "email_onconnect.sh" is: #!/bin/bash set -x #[email protected] printf "To:[email protected]\nFrom:[email protected]\nSubject: Remote host has connected to mountpoint $1 on the Backstream\n\n KPOV Icecast server on IcecastPi has detected a connection on the backstream." > /home/kpovdjs/bin/on_connect.txt /usr/bin/[email protected] < /home/kpovdjs/bin/on_connect.txt >/home/kpovdjs/bin/msmtp.log 2>&1 If I run it as user kpovdjs (me), it sends the email, and this is the debug output: kpovdjs@Icecast-Pi:~/bin $ ./email_onconnect.sh + printf 'To:[email protected]\nFrom:[email protected]\nSubject: Remote host has connected to mountpoint on the Backstream\n\n KPOV Icecast server on IcecastPi has detected a connection on the backstream.' + /usr/bin/[email protected] But as user icecast2, the debug output is the same, but no email sent: icecast2@Icecast-Pi:/home/kpovdjs/bin$ ./email_onconnect.sh + printf 'To:[email protected]\nFrom:[email protected]\nSubject: Remote host has connected to mountpoint on the Backstream\n\n KPOV Icecast server on IcecastPi has detected a connection on the backstream.' + /usr/bin/[email protected] For debug purposes, I have rwxrwxrwx permission set from / and down to and including the script. -rwxrwxrwx 1 kpovdjs kpovdjs 414 Sep 17 10:59 email_onconnect.sh For further debug purposes, I made a copy of the .sh script and chowned it to user icecast2. -rwxr-xr-x 1 icecast2 icecast 414 Sep 20 08:08 email_onconnect_usericecast2.sh It also does not send the email when I invoke it as user icecast2. The "set -x" debug output is the same. At this point it seems that this is not a icecast issue, per se, but some sneaky subtle weird annoying little Linux thing. However, if anyone here has an idea on how I might solve it, it would be very much appreciated. Thank you! =========================== Very cool, I haven't encountered the "set -x" debug flag before. However, the output isn't as interesting as I hoped: icecast2@Icecast-Pi:/home/kpovdjs/bin$ ./email_onconnect.sh + printf 'To:[email protected]\nFrom:[email protected]\nSubject: Remote host has connected to mountpoint on the Backstream\n\n KPOV Icecast server on IcecastPi has detected a connection on the backstream.' + /usr/bin/[email protected] icecast2@Icecast-Pi:/home/kpovdjs/bin$ Thank you! -- Jack Elliott Director of Classical Music Programming High Desert Community Radio KPOV Bend, Oregon On 9/17/23 10:49 AM, Thomas Zumbrunnen wrote: > Hi > > For debuging purpose put > set -x in the row after #!/bin/bash > and execute the script. Post the whole output here. > > Cheers > Tom > Am 17. Sept. 2023, 19:42 +0200 schrieb Jack Elliott > <[email protected]>: >> >> Hi Jordan, >> >> Here is my script: >> >> #!/bin/bash >> >> #[email protected] >> >> printf >> "To:[email protected]\nFrom:[email protected]\nSubject: >> Remote host has connected to mountpoint $1 on the Backstream\n\n KPOV >> Icecast server on IcecastPi has detected a connection on the >> backstream." > /home/my_username/bin/on_connect.txt >> /usr/bin/[email protected] < >> /home/my_username/bin/on_connect.txt >/home/my_username/bin/msmtp.log >> 2>&1 >> >> This script has rwx set for everyone (for debugging). >> >> Thank you! >> >> -- >> Jack Elliott >> Director of Classical Music Programming >> High Desert Community Radio >> KPOV Bend, Oregon >> On 9/17/23 8:25 AM, Jordan Erickson wrote: >>> Hi Jack, >>> >>> You said: >>> >>> --- >>> Okay now that I am user icecast2, let me see if the script I want >>> the Icecast server to run <on-connect> runs, so . . . >>> icecast2@icecast-Pi: $ ./email_onconnect.sh >>> >>> and the prompt returns immediately, no error message, but no email >>> received. But if I su back to my_username and try the script, it >>> runs and an email is received. >>> >>> --- >>> >>> This tells me that your script is not doing what it needs to do as >>> the Icecast user. Since you're doing it outside of Icecast, it's not >>> the <on-connect> or <on-disconnect> triggers that are failing. It >>> would be helpful if you could paste your script (sensitive info like >>> passwords removed) here. >>> >>> >>> Cheers, >>> Jordan >>> https://subj.am/ >>> >>> On 9/17/23 07:08, Jack Elliott wrote: >>>> >>>> Hi, I posted yesterday that I was following this thread, and a nice >>>> listmember offered some suggestions to debug it. I replied directly >>>> to him, taking the thread off the list. This was not my intention, >>>> I'm bringing it back to the list to seek additional help because >>>> this issue has not been resolved. >>>> >>>> So, summary: >>>> >>>> The OS is Linux. >>>> >>>> Issue: <on-connect> / <on-disconnect> does not launch a bash script >>>> that sends notification emails. >>>> >>>> The script is located in /home/my_username/bin >>>> >>>> The script runs from command line and sends the email with me as >>>> user. So the script is coded right. But icecast does not launch the >>>> script. >>>> >>>> I have given rwx permission to everyone from / down to and >>>> including the script itself for debugging. >>>> >>>> Here is the code I have in the mount definition in icecast.xml: >>>> >>>> <on-connect>/home/my_username/bin/email_onconnect.sh</on-connect> >>>> <on-disconnect>/home/my_username/bin/email_ondisconnect.sh</on-disconnect> >>>> >>>> It is intended to run when a remote source client connects. The >>>> mountpoint works fine, our remote hosts routinely use it to stream >>>> their radio shows to the station to be put on the air. >>>> >>>> So. Is it possible that by having a fallback-mount (a local mp3) in >>>> the mountpoint "blocks" <on-connect>? IOW, because there is always >>>> a source client connected—either the fallback or a remote source >>>> client—that there is no connecting event to trigger the command? >>>> >>>> Thank you! >>>> >>>> -- >>>> Jack Elliott >>>> Director of Classical Music Programming >>>> High Desert Community Radio >>>> KPOV Bend, Oregon >>>> >>>> _______________________________________________ >>>> Icecast mailing list >>>> [email protected] >>>> http://lists.xiph.org/mailman/listinfo/icecast >>> >>> >>> _______________________________________________ >>> Icecast mailing list >>> [email protected] >>> http://lists.xiph.org/mailman/listinfo/icecast >> _______________________________________________ >> Icecast mailing list >> [email protected] >> http://lists.xiph.org/mailman/listinfo/icecast --------------7bquXKfP2f2X3yn1FweF08yV Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <p>Very cool, I haven't encountered the "set -x" debug flag before. However, the output isn't as interesting as I hoped:<br> </p> <pre>icecast2@Icecast-Pi:/home/kpovdjs/bin$ ./email_onconnect.sh + printf 'To: <a class="moz-txt-link-abbreviated" href="mailto:[email protected]\nFrom">[email protected]\nFrom</a>: <a class="moz-txt-link-abbreviated" href="mailto:[email protected]\nSubject">[email protected]\nSubject</a>: Remote host has connected to mountpoint on the Backstream\n\n KPOV Icecast server on IcecastPi has detected a connection on the backstream.' + /usr/bin/msmtp <a class="moz-txt-link-abbreviated" href="mailto:[email protected]">[email protected]</a> icecast2@Icecast-Pi:/home/kpovdjs/bin$ </pre> <p>Thank you!<br> </p> <pre class="moz-signature" cols="72">-- Jack Elliott Director of Classical Music Programming High Desert Community Radio KPOV Bend, Oregon</pre> <div class="moz-cite-prefix">On 9/17/23 10:49 AM, Thomas Zumbrunnen wrote:<br> </div> <blockquote type="cite" cite="mid:192abebe-ee3a-45f8-af67-257177c9a6b3@Spark"> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title></title> <div name="messageBodySection"> <div dir="auto">Hi <br> <br> For debuging purpose put <br> <span style="color:#5c2699;font-family:source-code-pro, Menlo, Monaco, Courier New, Courier, monospace;font-size: 14px">set</span><span style="color:#242424;background-color:#f9f9f9;font-family:source-code-pro, Menlo, Monaco, Courier New, Courier, monospace;font-size: 14px"> -x in the row </span>after <span style="color:#643820;font-family:source-code-pro, Menlo, Monaco, Courier New, Courier, monospace;font-size: 14px">#!/bin/bash</span><span style="font-size: 14px"><br> </span><span style="color:#643820;font-family:source-code-pro, Menlo, Monaco, Courier New, Courier, monospace;font-size: 14px">and execute the script. Post the whole output here.</span><span style="font-size: 14px"><br> </span><span style="font-size: 14px"><br> </span><span style="color:#643820;font-family:source-code-pro, Menlo, Monaco, Courier New, Courier, monospace;font-size: 14px">Cheers</span><span style="font-size: 14px"><br> </span><span style="color:#643820;font-family:source-code-pro, Menlo, Monaco, Courier New, Courier, monospace;font-size: 14px">Tom</span></div> </div> <div name="messageReplySection">Am 17. Sept. 2023, 19:42 +0200 schrieb Jack Elliott <a class="moz-txt-link-rfc2396E" href="mailto:[email protected]"><[email protected]></a>:<br> <blockquote type="cite" style="border-left-color: grey; border-left-width: thin; border-left-style: solid; margin: 5px 5px;padding-left: 10px;"> <p>Hi Jordan,<br> </p> <p>Here is my script:</p> <pre>#!/bin/bash # <a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:[email protected]" moz-do-not-send="true">[email protected]</a> printf "To: <a class="moz-txt-link-abbreviated" href="mailto:[email protected]/nFrom" moz-do-not-send="true">[email protected]\nFrom</a>: <a class="moz-txt-link-abbreviated" href="mailto:[email protected]/nSubject" moz-do-not-send="true">[email protected]\nSubject</a>: Remote host has connected to mountpoint $1 on the Backstream\n\n KPOV Icecast server on IcecastPi has detected a connection on the backstream." > /home/my_username/bin/on_connect.txt /usr/bin/msmtp <a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:[email protected]" moz-do-not-send="true">[email protected]</a> < /home/my_username/bin/on_connect.txt >/home/my_username/bin/msmtp.log 2>&1 </pre> <p>This script has rwx set for everyone (for debugging).<br> </p> <p>Thank you!<br> </p> <pre class="moz-signature" cols="72">-- Jack Elliott Director of Classical Music Programming High Desert Community Radio KPOV Bend, Oregon</pre> <div class="moz-cite-prefix">On 9/17/23 8:25 AM, Jordan Erickson wrote:<br> </div> <blockquote type="cite" cite="mid:[email protected]"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> Hi Jack,<br> <br> You said:<br> <br> ---<br> Okay now that I am user icecast2, let me see if the script I want the Icecast server to run <on-connect> runs, so . . .<br> <pre>icecast2@icecast-Pi: $ ./email_onconnect.sh</pre> <p>and the prompt returns immediately, no error message, but no email received. But if I su back to my_username and try the script, it runs and an email is received.<br> </p> ---<br> <br> This tells me that your script is not doing what it needs to do as the Icecast user. Since you're doing it outside of Icecast, it's not the <on-connect> or <on-disconnect> triggers that are failing. It would be helpful if you could paste your script (sensitive info like passwords removed) here.<br> <br> <br> Cheers,<br> Jordan<br> <pre class="moz-signature" cols="72"><a class="moz-txt-link-freetext" href="https://subj.am/" moz-do-not-send="true">https://subj.am/</a> </pre> <div class="moz-cite-prefix">On 9/17/23 07:08, Jack Elliott wrote:<br> </div> <blockquote type="cite" cite="mid:[email protected]"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <p>Hi, I posted yesterday that I was following this thread, and a nice listmember offered some suggestions to debug it. I replied directly to him, taking the thread off the list. This was not my intention, I'm bringing it back to the list to seek additional help because this issue has not been resolved.<br> </p> <p>So, summary:</p> <p>The OS is Linux.<br> </p> <p>Issue: <on-connect> / <on-disconnect> does not launch a bash script that sends notification emails.<br> </p> <p>The script is located in /home/my_username/bin</p> <p>The script runs from command line and sends the email with me as user. So the script is coded right. But icecast does not launch the script.</p> <p>I have given rwx permission to everyone from / down to and including the script itself for debugging.<br> </p> <p>Here is the code I have in the mount definition in icecast.xml:<br> </p> <pre> <on-connect>/home/my_username/bin/email_onconnect.sh</on-connect> <on-disconnect>/home/my_username/bin/email_ondisconnect.sh</on-disconnect> </pre> <p>It is intended to run when a remote source client connects. The mountpoint works fine, our remote hosts routinely use it to stream their radio shows to the station to be put on the air.<br> </p> <p>So. Is it possible that by having a fallback-mount (a local mp3) in the mountpoint "blocks" <on-connect>? IOW, because there is always a source client connected—either the fallback or a remote source client—that there is no connecting event to trigger the command?</p> <p>Thank you!<br> </p> <pre class="moz-signature" cols="72">-- Jack Elliott Director of Classical Music Programming High Desert Community Radio KPOV Bend, Oregon</pre> <br> <fieldset class="moz-mime-attachment-header"></fieldset> <pre class="moz-quote-pre" wrap="">_______________________________________________ Icecast mailing list <a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:[email protected]" moz-do-not-send="true">[email protected]</a> <a class="moz-txt-link-freetext" href="http://lists.xiph.org/mailman/listinfo/icecast" moz-do-not-send="true">http://lists.xiph.org/mailman/listinfo/icecast</a> </pre> </blockquote> <br> <br> <fieldset class="moz-mime-attachment-header"></fieldset> <pre class="moz-quote-pre" wrap="">_______________________________________________ Icecast mailing list <a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:[email protected]" moz-do-not-send="true">[email protected]</a> <a class="moz-txt-link-freetext" href="http://lists.xiph.org/mailman/listinfo/icecast" moz-do-not-send="true">http://lists.xiph.org/mailman/listinfo/icecast</a> </pre> </blockquote> _______________________________________________<br> Icecast mailing list<br> <a class="moz-txt-link-abbreviated" href="mailto:[email protected]">[email protected]</a><br> <a class="moz-txt-link-freetext" href="http://lists.xiph.org/mailman/listinfo/icecast">http://lists.xiph.org/mailman/listinfo/icecast</a><br> </blockquote> </div> </blockquote> </body> </html> --------------7bquXKfP2f2X3yn1FweF08yV-- From Content-Type: multipart/alternative; boundary="------------cwXTpa91 _______________________________________________ Icecast mailing list [email protected] http://lists.xiph.org/mailman/listinfo/icecast