#!/opt/openv/perl/bin/perl -w use strict; use NBUX; use CGI; use CGI::Carp qw/fatalsToBrowser/; my %data; my $sid; my $day; my @clients; my %bpclients = bpclclients(); foreach (sort keys %bpclients) { push @clients, $_; } my $query = new CGI; print $query->header, $query->h1("NBU Backup Schedule Retrieval Tool"), $query->p( 'Choose a backup client from the pulldown menu and push \'get my schedule\' to retrieve all active backup schedules for your chosen server' ), $query->hr, $query->start_html( {-bgcolor=>'#CCFFCC'},'NBU Schedule Getter'), $query->startform, $query->popup_menu( -name => 'backup client', -values => [@clients], -default => '' ), $query->submit('Action', 'get my schedule'), $query->endform; get_schedule($query->param('backup client')); print $query->end_html; sub get_schedule { my ($client) = @_; my $cmd = "/opt/openv/netbackup/bin/admincmd/bppllist -byclient $client -U"; open CMD, " $cmd |" or die "Cannot run $cmd: $@\n"; while () { next if (/Default/); if (/Policy Name:(\s+)(.*?)$/) { $sid = "$2"; next; } next unless (/(\s+)Daily Windows\:/ .. /(\s+)Schedule\:/); if (/(^\s+)(.*?day)/) { next if (/24|Week/); $day = $_; chomp $day; push @{$data{$sid}}, $day; } } foreach my $key (sort keys %data) { print $query->br, $query->b("$key starts between"); foreach (@{$data{$key}}) { print $query->pre("$_"),; } print "============================================================"; } }