BMU SMS/read_sms.pl hinzugefügt
This commit is contained in:
65
BMU SMS/read_sms.pl
Normal file
65
BMU SMS/read_sms.pl
Normal file
@@ -0,0 +1,65 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
use strict;
|
||||
|
||||
my $path="/usr/lib64/nagios/plugins";
|
||||
my $smsfile="$path/sms_receiver";
|
||||
|
||||
my $smsinpath="/var/spool/sms/incoming";
|
||||
my $smsoutpath="/var/spool/sms/outgoing";
|
||||
|
||||
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time);
|
||||
my $smssetout="$smsoutpath/setout_" . sprintf("%4d-%02d-%02d_%02d-%02d-%02d", $year+1900, $mon+1, $mday, $hour, $min, $sec);
|
||||
my $smsgetout="$smsoutpath/getout_" . sprintf("%4d-%02d-%02d_%02d-%02d-%02d", $year+1900, $mon+1, $mday, $hour, $min, $sec);
|
||||
|
||||
opendir(DH, $smsinpath) || die "Kann SMS Eingangsverzeichnis nicht oeffnen!\n";
|
||||
my $file;
|
||||
while(($file = readdir(DH))) {
|
||||
next if $file =~ /^\./;
|
||||
print "$smsinpath/$file\n";
|
||||
my $fromnr;
|
||||
my $tonr;
|
||||
open SMS, "<$smsinpath/$file" || die "Kann SMS nicht lesen!\n";
|
||||
open LOGR, ">>/var/log/read_sms";
|
||||
printf LOGR "### %4d-%02d-%02d %02d-%02d-%02d\n", $year+1900, $mon+1, $mday, $hour, $min, $sec;
|
||||
while (<SMS>) {
|
||||
chomp;
|
||||
printf LOGR "$_\n";
|
||||
if ($_ =~ /^From: /) {
|
||||
($fromnr)=$_=~/^From: ([0-9]*)/;
|
||||
#print "$fromnr\n";
|
||||
}
|
||||
if ($_ =~ /GETBEREIT/) {
|
||||
print "GET\n";
|
||||
open NR, "<$smsfile";
|
||||
$tonr=<NR>;
|
||||
close NR;
|
||||
open SMS, ">$smsgetout";
|
||||
open LOG, ">>/var/log/send_sms";
|
||||
printf LOG "### %4d-%02d-%02d %02d-%02d-%02d\n", $year+1900, $mon+1, $mday, $hour, $min, $sec;
|
||||
printf SMS "To: $fromnr\n\nAlarme gehen an $tonr";
|
||||
printf LOG "To: $fromnr\n\nAlarme gehen an $tonr";
|
||||
close SMS;
|
||||
close LOG;
|
||||
}
|
||||
if ($_ =~ /SETBEREIT/) {
|
||||
print "SET\n";
|
||||
print "Schreibe $fromnr nach $smsfile\n";
|
||||
open NR, ">$smsfile";
|
||||
printf NR "$fromnr";
|
||||
close NR;
|
||||
#print "Schreibe SMS an $smssetout\n";
|
||||
open SMS, ">$smssetout";
|
||||
open LOG, ">>/var/log/send_sms";
|
||||
printf LOG "### %4d-%02d-%02d %02d-%02d-%02d\n", $year+1900, $mon+1, $mday, $hour, $min, $sec;
|
||||
printf SMS "To: $fromnr\n\nAlarme gehen jetzt an $fromnr";
|
||||
printf LOG "To: $fromnr\n\nAlarme gehen jetzt an $fromnr";
|
||||
close SMS;
|
||||
close LOG;
|
||||
}
|
||||
}
|
||||
close SMS;
|
||||
close LOGR;
|
||||
unlink "$smsinpath/$file";
|
||||
}
|
||||
closedir DH;
|
||||
Reference in New Issue
Block a user