/[BackupPC]/trunk/bin/BackupPC_burnArchiveCLI
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/bin/BackupPC_burnArchiveCLI

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 275 by dpavlin, Tue Dec 13 22:53:30 2005 UTC revision 287 by dpavlin, Sun Jan 15 14:00:14 2006 UTC
# Line 1  Line 1 
1  #!/usr/bin/perl  #!/usr/bin/perl
2    
3  use strict;  use strict;
4  #use lib "__INSTALLDIR__/lib";  use lib "__INSTALLDIR__/lib";
 use lib "/data/backuppc-agi/lib";  
5    
6  use DBI;  use DBI;
7  use BackupPC::Lib;  use BackupPC::Lib;
# Line 296  foreach my $arc (@archives_to_burn) { Line 295  foreach my $arc (@archives_to_burn) {
295    
296          $sth_archive_backup_parts->execute($dvd_nr);          $sth_archive_backup_parts->execute($dvd_nr);
297    
298            if ($sth_archive_backup_parts->rows == 0) {
299                    warn "ERROR: no backup parts found for $dvd_nr. You should re-create that DVD.\n";
300                    print "Do you want to delete invalid DVD #$dvd_nr now? [NO/yes]: ";
301                    my $ok = <STDIN>;
302                    chomp($ok);
303                    if (lc($ok) eq 'yes') {
304                            print "Deleting DVD #$dvd_nr from database...\n";
305    
306                            $dbh->begin_work;
307    
308                            my $sth_delete_dvd = $dbh->prepare( qq{
309                                    delete from archive where dvd_nr = ?
310                            } );
311                            $sth_delete_dvd->execute( $dvd_nr );
312                            $dbh->do( qq{
313                                    select setval('dvd_nr', (select max(dvd_nr) from archive), true)
314                            } );
315    
316                            $dbh->commit;
317                    }
318            }
319    
320          my @volumes;          my @volumes;
321          my $v;  # emtpy volume          my $v;  # emtpy volume
322          my $v_size = 0;          my $v_size = 0;
# Line 318  foreach my $arc (@archives_to_burn) { Line 339  foreach my $arc (@archives_to_burn) {
339          }          }
340          push @volumes, $v if ($v);          push @volumes, $v if ($v);
341    
342            #warn "# volumes: ",Dumper(\@volumes),"\n";
343    
344          my $volumes = $#volumes + 1;          my $volumes = $#volumes + 1;
345          my $volume_nr = 1;          my $volume_nr = 1;
346    
347          foreach my $v (@volumes) {          foreach my $v (@volumes) {
348    
349                  print Dumper($v);                  #print Dumper($v);
350    
351                  my $iso_size = 0;                  my $iso_size = 0;
352                  my $disk_name = $dvd_nr;                  my $disk_name = $dvd_nr;
# Line 369  foreach my $arc (@archives_to_burn) { Line 392  foreach my $arc (@archives_to_burn) {
392                                  my $rel_path = $tar_file;                                  my $rel_path = $tar_file;
393    
394                                  if (-d "$tar_dir/$rel_path") {                                  if (-d "$tar_dir/$rel_path") {
                                         $rel_path .= '/' . $p->{part_nr};  
395                                          mkpath("$stage/$rel_path") unless (-d "$stage/$rel_path");                                          mkpath("$stage/$rel_path") unless (-d "$stage/$rel_path");
396                                            $rel_path .= '/' . $p->{part_nr};
397                                  }                                  }
398                                  $rel_path .= '.tar.gz';                                  $rel_path .= '.tar.gz';
399    
# Line 379  foreach my $arc (@archives_to_burn) { Line 402  foreach my $arc (@archives_to_burn) {
402                                  add_symlink("$tar_dir/$rel_path", "$stage/$rel_path");                                  add_symlink("$tar_dir/$rel_path", "$stage/$rel_path");
403    
404                                  my $md5sum = $p->{md5} || die "no md5 in part ", Dumper($p);                                  my $md5sum = $p->{md5} || die "no md5 in part ", Dumper($p);
405                                  print $md5 "$md5sum\s\s$rel_path\n" || die "can't write md5sum: $!";                                  chomp($md5sum);
406                                    print $md5 "$md5sum  $rel_path\n" || die "can't write md5sum: $!";
407    
408                                  $parts_on_this_volume++;                                  $parts_on_this_volume++;
409                          }                          }
# Line 409  foreach my $arc (@archives_to_burn) { Line 433  foreach my $arc (@archives_to_burn) {
433    
434                          print "Created $iso_file [$iso_size bytes] in ", fmt_time(time() - $t), "\n";                          print "Created $iso_file [$iso_size bytes] in ", fmt_time(time() - $t), "\n";
435    
436                          # FIXME                          rmtree($stage) || warn "can't remove stage directory $stage: $!";
                         #rmtree($stage) || warn "can't remove stage directory $stage: $!";  
437    
438                  } else {                  } else {
439                          print "ISO $iso_file allready exists\n";                          print "ISO $iso_file allready exists\n";

Legend:
Removed from v.275  
changed lines
  Added in v.287

  ViewVC Help
Powered by ViewVC 1.1.26