<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Arial,Helvetica,sans-serif;" dir="ltr">
<p>Shasha,</p>
<p><br>
</p>
<p>Thank you!  Tested and it worked!!!  Here is my code should anyone desire...  It is in three parts.</p>
<p>Could have parameterized the code...  find yourdomain.tld and replace with your domain.tld.  Be aware of any line that has yourdomain.tld to replace what matches for your needs.<br>
</p>
<p><br>
</p>
<p><br>
</p>
<p></p>
<div>#Copy and paste or run manually outside of script<br>
############## Begin Initial Certbot Install ####################<br>
#Install certbot, epel must be installed<br>
yum install certbot<br>
#Enable port 443 in Firewall for Certbot<br>
#firewall-cmd --list-all<br>
firewall-cmd --permanent --add-port=443/tcp<br>
firewall-cmd --reload<br>
#Run Command for Certbot to create certificate<br>
certbot certonly \<br>
  --standalone \<br>
  --agree-tos \<br>
  --non-interactive \<br>
  --text \<br>
  --rsa-key-size 4096 \<br>
  --email admin@<span>yourdomain.tld</span> \<br>
  --domains "stream.<span>yourdomain.tld</span>"<br>
#Disable port 443 in Firewall for Certbot<br>
firewall-cmd --permanent --remove-port=443/tcp<br>
firewall-cmd --reload<br>
#Letsencrypt certificates will now be located in /etc/letsencrypt/live/yourdomain.tld/<br>
############## End Initial Certbot Install ####################<br>
<br>
<br>
<br>
<br>
<br>
<br>
#!/bin/bash<br>
############## Begin Certbot Renewal ####################<br>
#Enable port 443 in Firewall for Certbot<br>
firewall-cmd --permanent --add-port=443/tcp<br>
firewall-cmd --reload<br>
#Run Certbot Renew all certs<br>
certbot renew<code> --force-renewal</code><br>
#Disable port 443 in Firewall for Certbot<br>
firewall-cmd --permanent --remove-port=443/tcp<br>
firewall-cmd --reload<br>
#Backup expiring Icecast certificate<br>
mv -f /usr/share/icecast/ssl/stream_<span>yourdomain.tld</span>_combined.pem /usr/share/icecast/ssl/stream_<span>yourdomain.tld</span>_combined_$(date +%Y%m%d_%T).bak && touch /usr/share/icecast/ssl/stream_<span>yourdomain.tld</span>_combined.pem<br>
#Append FullChain to icecast certificate<br>
cat /etc/letsencrypt/live/stream.<span>yourdomain.tld</span>/fullchain.pem > /usr/share/icecast/ssl/stream_<span>yourdomain.tld</span>_combined.pem<br>
#Append privkey to icecast certificate<br>
cat /etc/letsencrypt/live/stream.<span>yourdomain.tld</span>/privkey.pem >> /usr/share/icecast/ssl/stream_<span>yourdomain.tld</span>_combined.pem<br>
#The following is for my implementation.  If you have a single service consider removing the following to just service icecast restart<br>
#Kill all processes with the name icecast<br>
ps -ef | grep icecast | grep -v grep | awk '{print $2}' | xargs -r kill -9<br>
#Start my icecast instances<br>
/usr/bin/icecast -c /etc/icecast.xml -b > /dev/null 2>&1 &<br>
/usr/bin/icecast -c /etc/icecast1.xml -b > /dev/null 2>&1 &<br>
/usr/bin/icecast -c /etc/icecast2.xml -b > /dev/null 2>&1 &<br>
/usr/bin/icecast -c /etc/icecast3.xml -b > /dev/null 2>&1 &<br>
############## End Certbot Renewal ####################<br>
<br>
<br>
<br>
<br>
#Run at command line<br>
# Command to create CRON job to run once a week on Sunday at midnight<br>
<span>crontab -e<br>
#Insert the following line<br>
</span>0 0 * * 0 /usr/share/icecast/ssl/certrenew.sh</div>
<span>#Check that CRON job was added<br>
</span>
<p></p>
<p><span>crontab -l</span><br>
</p>
<br>
<br>
<div style="color: rgb(0, 0, 0);">
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font style="font-size:11pt" color="#000000" face="Calibri, sans-serif"><b>From:</b> Icecast <icecast-bounces@xiph.org> on behalf of Yahav Shasha <yahav.shasha@gmail.com><br>
<b>Sent:</b> Monday, May 29, 2017 10:35 AM<br>
<b>To:</b> Icecast streaming server user discussions<br>
<b>Subject:</b> Re: [Icecast] Proper way to start multiple icecast services through bash script?</font>
<div> </div>
</div>
<div>
<div dir="ltr">try this:
<div>/usr/bin/icecast -c /etc/icecast.xml -b > /dev/null 2>&1 &<br>
</div>
<div>as for killing them, don't overcomplicate things, killall icecast -KILL<br>
</div>
<div>also, perhaps you don't even need to kill and start them again, try to HUP them and see if the certificate updates.</div>
<div><br>
</div>
<div><br>
</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Mon, May 29, 2017 at 5:27 PM, Walter York <span dir="ltr">
<<a href="mailto:walteryork@hotmail.com" target="_blank">walteryork@hotmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex; border-left:1px #ccc solid; padding-left:1ex">
<div>
<div dir="auto">Yes, the web players I've tested have a hard time parsing meta properly using only one instance with separate streams.  Tested at least 6 of them looking for reliable meta and cross browser/OS compatibility.<br>
</div>
<div class="gmail_quote">
<div>
<div class="h5">On May 29, 2017, at 10:23 AM, Marvin Scholz <<a href="mailto:epirat07@gmail.com" target="_blank">epirat07@gmail.com</a>> wrote:
</div>
</div>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<pre class="m_7985636462639354381blue"><div><div class="h5">Any specific reason to run 4 Icecasts?<br><br>On 29 May 2017, at 16:21, Walter York wrote:<br><br></div></div><blockquote class="gmail_quote" style="margin:0pt 0pt 1ex 0.8ex; border-left:1px solid #729fcf; padding-left:1ex"><div><div class="h5"> I have 4 instances of icecast running on my server.<br><br><br> #Command to start icecast<br> /usr/bin/icecast -c /etc/icecast.xml -b &<br> /usr/bin/icecast -c /etc/icecast1.xml -b &<br> /usr/bin/icecast -c /etc/icecast2.xml -b &<br> /usr/bin/icecast -c /etc/icecast3.xml -b &<br><br><br> I am trying to integrate an automated Let's Encrypt Certificate <br> renewal.  My testing found that I need to restart the icecast <br> processes for the certificate to update.  I created a bash script that <br> would open the firewall port, renew the cert, combine the <br> certificates, overwrite the old cert, close the firewall port, kill <br> the icecast services and then start them.<br><br><br> Everything works except for the restarting of the services.  Killing <br> them works fine but starting them hangs.  Please help me create the <br> steps to start the 4 icecast instances via bash.  I have tried no & <br> and && as well.  Feeling really stupid right now.  Thank you in <br> advance for your time and please spell out the answer without assuming <br> my knowledge or lacktherof!  😉<br><br><br> #Kill all processes with the name icecast<br> ps -ef | grep icecast | grep -v grep | awk '{print $2}' | xargs -r <br> kill -9<br> #Start my icecast instances<br><br> /usr/bin/icecast -c /etc/icecast.xml -b &<br> /usr/bin/icecast -c /etc/icecast1.xml -b &<br> /usr/bin/icecast -c /etc/icecast2.xml -b &<br> /usr/bin/icecast -c /etc/icecast3.xml -b &<br><br><br> PS: If I can get this working I can post it to github for everyone who <br> would like to secure their icecast traffic and renew it automatically.<br><br><hr><br></div></div><span class=""> Icecast mailing list<br> <a href="mailto:Icecast@xiph.org" target="_blank">Icecast@xiph.org</a><br> <a href="http://lists.xiph.org/mailman/listinfo/icecast" target="_blank">http://lists.xiph.org/mailman/<wbr>listinfo/icecast</a><br></span></blockquote><span class=""><hr><br>Icecast mailing list<br><a href="mailto:Icecast@xiph.org" target="_blank">Icecast@xiph.org</a><br><a href="http://lists.xiph.org/mailman/listinfo/icecast" target="_blank">http://lists.xiph.org/mailman/<wbr>listinfo/icecast</a><br></span></pre>
</blockquote>
</div>
</div>
<br>
______________________________<wbr>_________________<br>
Icecast mailing list<br>
<a href="mailto:Icecast@xiph.org">Icecast@xiph.org</a><br>
<a href="http://lists.xiph.org/mailman/listinfo/icecast" rel="noreferrer" target="_blank">http://lists.xiph.org/mailman/<wbr>listinfo/icecast</a><br>
<br>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
<div class="gmail_signature">
<div dir="ltr">Yahav Shasha,<br>
Web Developer<br>
+972-(0)549214421<br>
<div><a href="http://www.linkedin.com/in/yahavs" target="_blank">http://www.linkedin.com/in/yahavs</a><br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>