http://www.perlmonks.org?node_id=874408


in reply to Re: Resizing MRTG (RRDTool) logs en-masse
in thread Resizing MRTG (RRDTool) logs en-masse

Thanks for the feedback, both valid points.

heh... I completely forgot about the rename function ;-)

  • Comment on Re^2: Resizing MRTG (RRDTool) logs en-masse

Replies are listed 'Best First'.
Re^3: Resizing MRTG (RRDTool) logs en-masse
by jwkrahn (Abbot) on Nov 30, 2010 at 02:23 UTC

    Also,  /.*rrd$/ will match both of the strings  "rrd" and  "rrd\n" so perhaps you should use  /.*rrd\z/ instead.

    Or perhaps even:  'rrd' eq substr( $_, -3 )

      It would be pretty unusual to have a file name that ends with \n, so I see that as an edge case that's probably not worth worrying about.

      It's probably better to have a check after the call to RRDs::info, so I've inserted:

      my $info = RRDs::info "$logsdir/$rrd"; # Check to ensure we actually have a valid rrd file unless ($info->{filename}) { print qq|"$logsdir/$rrd" doesn't appear to be a valid rrd log, + skipping\n|; next; }
      Which does the trick...
      $ touch foo.rrd $ ./rrd-resize.pl Starting, found 1 rrd files Processing foo.rrd "./foo.rrd" doesn't appear to be a valid rrd log, skipping Finished, processed 1 files in 0.00 seconds