1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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;
|