Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Are you Covered?

by JSchmitz (Canon)
on Mar 20, 2006 at 16:07 UTC ( #537976=sourcecode: print w/ replies, xml ) Need Help??

Category: utility
Author/Contact Info jefferyschmitz@mac.com
Description: Tells you what is getting backed up and what isn't - cheeeeers
#!/usr/bin/perl -w

#  Requires NBU module installed on host machine.....
use strict;

use Getopt::Std;

my %opts;
getopts('ucd', \%opts);

use NBU;
NBU->debug($opts{'d'});

NBU::Class->populate;

my @clients;
if ($#ARGV > -1 ) {
  for my $clientName (@ARGV) {
    push @clients, NBU::Host->new($clientName);
  }
}
else {
  NBU::Host->populate(1);
  @clients = (sort {$a->name cmp $b->name} (NBU::Host->list));
}

foreach my $client (@clients) {
  my $cn = $client->name;

  print "$cn:";
  my %mountPointList = $client->coverage;
  foreach my $mp (sort (keys %mountPointList)) {
    my $clR = $mountPointList{$mp};
    my $mpStatus = "\t$mp:";
    my $disposition;
    my $covered;
    if ($clR) {
      foreach my $class (@$clR) {
    my $cn = $class->name;
    if ($class->active) {
      $mpStatus .= " $cn" if ($opts{'c'} || !$opts{'u'});
      $covered += 1;
    }
    else {
      $mpStatus .= " ($cn)" if ($opts{'u'} || !$opts{'c'});
    }
      }
    }
    else {
      $mpStatus .= " not covered";
    }
    if ((!$opts{'u'} && !$opts{'c'}) ||
    ($opts{'u'} && !$covered) ||
    ($opts{'c'} && $covered)) {
      print "\n$mpStatus";
    }
  }

  if ($opts{'c'} || !$opts{'u'}) {
    my $sep = "\n\tadditional active classes are: ";
    foreach my $class ($client->classes) {
      if ($class->active && !$class->providesCoverage) {
    print $sep.$class->name;
    $sep = " ";
      }
    }
  }

  if ($opts{'u'} || !$opts{'c'}) {
    my $sep = "\n\tadditional inactive classes are: ";
    foreach my $class ($client->classes) {
      if (!$class->active && !$class->providesCoverage) {
    print $sep."(".$class->name.")";
    $sep = " ";
      }
    }
  }
  print "\n";
}

Comment on Are you Covered?
Download Code
Re: Are you Covered?
by wazoox (Prior) on Mar 20, 2006 at 16:27 UTC
    Don't forget to mention it's for NetBackup.

Back to Code Catacombs

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: sourcecode [id://537976]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (5)
As of 2014-08-30 00:47 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (290 votes), past polls