diff options
author | ivan <ivan> | 2011-02-09 08:57:23 +0000 |
---|---|---|
committer | ivan <ivan> | 2011-02-09 08:57:23 +0000 |
commit | b9cf39b5041702b3211a4ea5b471a3b059cd81ea (patch) | |
tree | b31c9f73630ee1b8183f4c01018e4c63d8fb406c /FS/FS | |
parent | 1833cbb8c9a99ac9e650dda0a51bba492ad25c04 (diff) |
automatically generate monthly torrus reports before 1st of the month billing, RT#10574
Diffstat (limited to 'FS/FS')
-rw-r--r-- | FS/FS/Cron/nms_report.pm | 21 | ||||
-rw-r--r-- | FS/FS/NetworkMonitoringSystem/Torrus_Internal.pm | 15 |
2 files changed, 36 insertions, 0 deletions
diff --git a/FS/FS/Cron/nms_report.pm b/FS/FS/Cron/nms_report.pm new file mode 100644 index 000000000..a34ebe180 --- /dev/null +++ b/FS/FS/Cron/nms_report.pm @@ -0,0 +1,21 @@ +packages FS::Cron::nms_report; + +use strict; +use base 'Exporter'; +use FS::Conf; +use FS::NetworkMonitoringSystem; + +our @EXPORT_OK = qw( nms_report ); + +sub nms_report { + #my %opt = @_; + + my $conf = new FS::Conf; + return unless $conf->config('network_monitoring_system'); + + my $nms = new FS::NetworkMonitoringSystem; + $nms->report; #(%opt); + +} + +1; diff --git a/FS/FS/NetworkMonitoringSystem/Torrus_Internal.pm b/FS/FS/NetworkMonitoringSystem/Torrus_Internal.pm index d55bfc35b..e48b6a6f8 100644 --- a/FS/FS/NetworkMonitoringSystem/Torrus_Internal.pm +++ b/FS/FS/NetworkMonitoringSystem/Torrus_Internal.pm @@ -94,6 +94,21 @@ sub find_svc { return $svc_port[0]; } +sub report { + my $self = shift; + + my @lt = localtime(time); + my ($d,$m,$y) = ($ls[3], $ls[4]+1, $ls[5]+1900); + if ( $ls[3] == 1 ) { + $m--; + if ($m == 0) { $m=12; $y-- } + #i should have better error checking + system('torrus', 'report', '--report=MonthlyUsage', "--date=$y-$m-01"); + system('torrus', 'report', '--genhtml', '--tree=main'); + } + +} + sub add_router { my($self, $ip) = @_; |