From 1733e5fe839caff338a664a39208599afe8df42b Mon Sep 17 00:00:00 2001 From: "Jason D. McCormick" Date: Tue, 14 Apr 2020 21:06:28 -0400 Subject: adding the big red button stuff --- allstar/allstar-brb | 22 ++++++++++++++++++++++ allstar/allstar-restart | 30 ++++++++++++++++++++++++++++++ allstar/brb | 21 +++++++++++++++++++++ allstar/brb.html | 30 ++++++++++++++++++++++++++++++ 4 files changed, 103 insertions(+) create mode 100755 allstar/allstar-brb create mode 100755 allstar/allstar-restart create mode 100755 allstar/brb create mode 100644 allstar/brb.html diff --git a/allstar/allstar-brb b/allstar/allstar-brb new file mode 100755 index 0000000..294e73c --- /dev/null +++ b/allstar/allstar-brb @@ -0,0 +1,22 @@ +#!/bin/bash + +if [ -f /var/lib/asterisk/brb/pressed ]; then + /usr/local/bin/allstar-restart + + /usr/bin/ssmtp -t < +To: zabbix@megalink.network +Subject: Big Red Button Pushed - $(hostname) + +This is the allstar-brb program on $(hostname) + +Asterisk was cycled at: + +$(date) + +due to someone pushing the big red button! + +Be will, John Spartan +EOM + +fi diff --git a/allstar/allstar-restart b/allstar/allstar-restart new file mode 100755 index 0000000..7432e43 --- /dev/null +++ b/allstar/allstar-restart @@ -0,0 +1,30 @@ +#!/usr/bin/perl + +use strict; + +use File::Temp qw/tempfile/; +use Sys::Hostname; + +my $host = hostname; + +# The init script for asterisk is really weak. Find +# all of the pids that are child pids of the +# safe_asterisk process which is launched as a nohup +# process rooted in /bin/sh. The astdn.sh script +# just does not work right at all to kill stuck children +my $sapid = qx(/usr/bin/pgrep safe_asterisk); + +# be maximally safe and don't do anything if there is +# no safe_asterisk process +if( length($sapid) > 0 ){ + my $apids = qx(/usr/bin/pstree -p $sapid); + $apids =~ s/[^\d]/ /g; + $apids =~ s/\s+/ /g; + system("/usr/bin/kill -9 $apids > /dev/null 2>&1"); + sleep 1; + unlink "/var/run/asterisk.ctl"; + unlink "/var/run/asterisk.pid"; + system("/usr/local/sbin/astup.sh > /dev/null 2>&1"); +} + +exit 0; diff --git a/allstar/brb b/allstar/brb new file mode 100755 index 0000000..77c4577 --- /dev/null +++ b/allstar/brb @@ -0,0 +1,21 @@ +#!/bin/bash + + + echo -e "Content-type: text/html\n\n" + echo "" + echo "" + echo "Pressed the Big Red Button" + echo "" + echo "" + echo -e "

" + +if [ ! -f /var/lib/asterisk/brb/pressed ]; then + touch /var/lib/asterisk/brb/pressed + echo -e "CLICK" +else + echo -e "PATIENCE GRASSHOPPER!" +fi + echo -e "

" + echo "" + echo "" +exit 0; diff --git a/allstar/brb.html b/allstar/brb.html new file mode 100644 index 0000000..d2f0d3a --- /dev/null +++ b/allstar/brb.html @@ -0,0 +1,30 @@ + + +The Big Red Button + + + +
+
CLICK HERE
+
+ + -- cgit v1.2.3