- Timestamp:
- 08/24/09 01:45:54 (1 year ago)
- Files:
-
- 1 modified
-
trunk/s3napback.pl (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/s3napback.pl
r57 r58 213 213 my $block = $config; 214 214 if ( ref($name) eq 'ARRAY' ) { 215 $logger->info( $name->[0] . " => " . $name->[1] );215 $logger->info( $name->[0] . " => " . $name->[1] ); 216 216 $block = $config->block($name); 217 217 $name = $name->[1]; 218 218 } 219 219 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 ); 227 223 } 228 224 … … 233 229 my $block = $config; 234 230 if ( ref($name) eq 'ARRAY' ) { 235 $logger->info( $name->[0] . " => " . $name->[1] );231 $logger->info( $name->[0] . " => " . $name->[1] ); 236 232 $block = $config->block($name); 237 233 $name = $name->[1]; 238 234 } 239 235 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) ); 246 237 } 247 238 … … 254 245 } 255 246 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) ); 262 248 } 263 249 … … 270 256 } 271 257 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) ); 277 259 } 278 260 … … 280 262 281 263 sub 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 ) { 285 268 $logger->warn("Skipping $name"); 286 269 return; … … 325 308 326 309 sub 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 ) { 330 317 $logger->warn("Skipping $name"); 331 318 return; … … 376 363 377 364 sub backupSubversionDir { 378 my ( $name, $frequency, $phase, $diffs, $fulls ) = @_; 365 my ( $name, @cyclespec ) = @_; 366 my ( $frequency, $phase, $diffs, $fulls ) = @cyclespec; 379 367 380 368 # this will be rechecked for each individual directory, but we may as well abort now if it's the wrong day … … 403 391 # 404 392 sub backupSubversion { 405 my ( $name, $frequency, $phase, $diffs, $fulls ) = @_; 393 my ( $name, @cyclespec ) = @_; 394 395 my ( $frequency, $phase, $diffs, $fulls ) = @cyclespec; 406 396 407 397 if ( ( $yday + $phase ) % $frequency != 0 ) { … … 517 507 } 518 508 509 sub 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 519 525 main();
