summaryrefslogtreecommitdiff
path: root/pistar-activity-report
diff options
context:
space:
mode:
Diffstat (limited to 'pistar-activity-report')
-rwxr-xr-xpistar-activity-report52
1 files changed, 52 insertions, 0 deletions
diff --git a/pistar-activity-report b/pistar-activity-report
new file mode 100755
index 0000000..572bf4c
--- /dev/null
+++ b/pistar-activity-report
@@ -0,0 +1,52 @@
+#!/usr/bin/perl
+
+use strict;
+use Getopt::Std;
+use POSIX qw(strftime);
+use Sys::Hostname;
+
+our($opt_f, $opt_s, $opt_r);
+my $nowiso = strftime "%Y-%m-%d", gmtime(time - 86400);
+
+getopts('f:r:s:');
+if( !defined($opt_f)){
+ $opt_f = sprintf("/var/log/pi-star/MMDVM-%s.log", $nowiso);
+}
+if( ! -f $opt_f ){
+ print STDERR "File $opt_f not found\n";
+ exit 1;
+}
+
+if( !defined($opt_s) || !defined($opt_r) ){
+ print STDERR "Usage: pistar-activity-report [-f FILE] -s SENDERADDR -r RECEIVEADDR[,RECEIVEADDR]\n";
+ exit 1;
+}
+
+my $dstar=0;
+my $dmr=0;
+
+open(IN, "<" . $opt_f) or die($!);
+while(<IN>){
+ chomp $_;
+
+ if( $_ =~ m/D\-Star,\s+received\s+\w+\send of transmission/ ){
+ ( my $s = $_ ) =~ s/^.*\s([0-9]+\.[0-9])\sseconds.*$/$1/;
+ $dstar += $s;
+ } elsif( $_ =~ m/DMR.*received network end of voice/) {
+ ( my $s = $_ ) =~ s/^.*\s([0-9]+\.[0-9])\sseconds.*$/$1/;
+ $dmr += $s;
+ }
+}
+close(IN);
+
+printf("From: %s\n", $opt_s);
+printf("To: %s\n", $opt_r);
+printf("Subject: %s - Daily Tx Report for %s (UTC)\n", hostname, $nowiso);
+print "\n";
+printf("D-STAR TX Seconds: %i\n", $dstar);
+printf("DMR TX Seconds: %i\n", $dmr);
+print "\n";
+print "DSTAR,DMR\n";
+printf("%i,%i\n", $dstar, $dmr);
+
+exit 0;