Changeset 58 for trunk

Show
Ignore:
Timestamp:
08/24/09 01:45:54 (1 year ago)
Author:
soergel
Message:
 
Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/s3napback.pl

    r57 r58  
    213213        my $block = $config; 
    214214        if ( ref($name) eq 'ARRAY' ) { 
    215             $logger->info( $name->[0] . " => " . $name->[1]); 
     215            $logger->info( $name->[0] . " => " . $name->[1] ); 
    216216            $block = $config->block($name); 
    217217            $name  = $name->[1]; 
    218218        } 
    219219 
    220         my $frequency = $block->get("Frequency"); 
    221         my $phase     = $block->get("Phase"); 
    222         my $diffs     = $block->get("Diffs"); 
    223         my $fulls     = $block->get("Fulls"); 
    224         my @excludes  = $block->get("Exclude"); 
    225  
    226         backupDirectory( $name, $frequency, $phase, $diffs, $fulls, @excludes ); 
     220        my @excludes = $block->get("Exclude"); 
     221 
     222        backupDirectory( $name, cyclespec($block), @excludes ); 
    227223    } 
    228224 
     
    233229        my $block = $config; 
    234230        if ( ref($name) eq 'ARRAY' ) { 
    235             $logger->info( $name->[0] . " => " . $name->[1]  ); 
     231            $logger->info( $name->[0] . " => " . $name->[1] ); 
    236232            $block = $config->block($name); 
    237233            $name  = $name->[1]; 
    238234        } 
    239235 
    240         my $frequency = $block->get("Frequency"); 
    241         my $phase     = $block->get("Phase"); 
    242         my $diffs     = $block->get("Diffs"); 
    243         my $fulls     = $block->get("Fulls"); 
    244  
    245         backupSubversion( $name, $frequency, $phase, $diffs, $fulls ); 
     236        backupSubversion( $name, cyclespec($block) ); 
    246237    } 
    247238 
     
    254245        } 
    255246 
    256         my $frequency = $block->get("Frequency"); 
    257         my $phase     = $block->get("Phase"); 
    258         my $diffs     = $block->get("Diffs"); 
    259         my $fulls     = $block->get("Fulls"); 
    260  
    261         backupSubversionDir( $name, $frequency, $phase, $diffs, $fulls ); 
     247        backupSubversionDir( $name, $cyclespec ($block) ); 
    262248    } 
    263249 
     
    270256        } 
    271257 
    272         my $frequency = $block->get("Frequency"); 
    273         my $phase     = $block->get("Phase"); 
    274         my $fulls     = $block->get("Fulls"); 
    275  
    276         backupMysql( $name, $frequency, $phase, $fulls ); 
     258        backupMysql( $name, cyclespec($block) ); 
    277259    } 
    278260 
     
    280262 
    281263sub backupDirectory { 
    282     my ( $name, $frequency, $phase, $diffs, $fulls, @excludes ) = @_; 
    283  
    284     if ( ( $yday + $phase ) % $frequency != 0 ) { 
     264    my ( $name, @cyclespec, @excludes ) = @_; 
     265    my ( $frequency, $phase, $diffs, $fulls ) = @cyclespec 
     266 
     267        if ( ( $yday + $phase ) % $frequency != 0 ) { 
    285268        $logger->warn("Skipping $name"); 
    286269        return; 
     
    325308 
    326309sub backupMysql { 
    327     my ( $name, $frequency, $phase, $fulls ) = @_; 
    328  
    329     if ( ( $yday + $phase ) % $frequency != 0 ) { 
     310    my ( $name, @cyclespec ) = @_; 
     311 
     312    my ( $frequency, $phase, $diffs, $fulls ) = @cyclespec 
     313 
     314        # note $diffs is ignored 
     315 
     316        if ( ( $yday + $phase ) % $frequency != 0 ) { 
    330317        $logger->warn("Skipping $name"); 
    331318        return; 
     
    376363 
    377364sub backupSubversionDir { 
    378     my ( $name, $frequency, $phase, $diffs, $fulls ) = @_; 
     365    my ( $name, @cyclespec ) = @_; 
     366    my ( $frequency, $phase, $diffs, $fulls ) = @cyclespec; 
    379367 
    380368    # this will be rechecked for each individual directory, but we may as well abort now if it's the wrong day 
     
    403391# 
    404392sub backupSubversion { 
    405     my ( $name, $frequency, $phase, $diffs, $fulls ) = @_; 
     393    my ( $name, @cyclespec ) = @_; 
     394 
     395    my ( $frequency, $phase, $diffs, $fulls ) = @cyclespec; 
    406396 
    407397    if ( ( $yday + $phase ) % $frequency != 0 ) { 
     
    517507} 
    518508 
     509sub cyclespec { 
     510    my ($block) = @_; 
     511 
     512    my $frequency = $block->get("Frequency"); 
     513    my $phase     = $block->get("Phase"); 
     514    my $diffs     = $block->get("Diffs"); 
     515    my $fulls     = $block->get("Fulls"); 
     516 
     517    if ( !defined $frequency ) { $frequency = 1; } 
     518    if ( !defined $phase )     { $phase     = 0; } 
     519    if ( !defined $diffs )     { $diffs     = 6; } 
     520    if ( !defined $fulls )     { $fulls     = 4; } 
     521 
     522    return ( $frequency, $phase, $diffs, $fulls ); 
     523} 
     524 
    519525main();