summaryrefslogtreecommitdiff
path: root/files/irc_bot/riseup-nagios-client.pl
diff options
context:
space:
mode:
Diffstat (limited to 'files/irc_bot/riseup-nagios-client.pl')
-rw-r--r--files/irc_bot/riseup-nagios-client.pl40
1 files changed, 40 insertions, 0 deletions
diff --git a/files/irc_bot/riseup-nagios-client.pl b/files/irc_bot/riseup-nagios-client.pl
new file mode 100644
index 0000000..fd28996
--- /dev/null
+++ b/files/irc_bot/riseup-nagios-client.pl
@@ -0,0 +1,40 @@
+#!/usr/bin/perl -w
+
+# ##############################################################################
+# Infrabot-Client - a simple Infrabot client which sends it's whole command
+# line arguments to a local UNIX domain socket.
+# ##############################################################################
+
+use strict;
+use IO::Socket;
+
+
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# >> CONFIGURATION >>
+
+my $SOCKET = '/var/run/nagios/nsa.socket';
+
+# << CONFIGURATION <<
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+if (@ARGV == 0) {
+ print "Hey - specify a message, sucker!\n";
+ exit(1);
+}
+
+unless (-S $SOCKET) {
+ die "Socket '$SOCKET' doesn't exist or isn't a socket!\n";
+}
+
+unless (-r $SOCKET) {
+ die "Socket '$SOCKET' can't be read!\n";
+}
+
+my $sock = IO::Socket::UNIX->new (
+ Peer => $SOCKET,
+ Type => SOCK_DGRAM,
+ Timeout => 10
+) || die "Can't open socket '$SOCKET'!\n";
+
+print $sock "@ARGV";
+close($sock);