/[BackupPC]/trunk/bin/BackupPC_incPartsUpdate
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_incPartsUpdate

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

revision 294 by dpavlin, Thu Jan 26 01:07:36 2006 UTC revision 371 by iklaric, Mon May 7 08:48:47 2007 UTC
# Line 130  sub get_backup_id($$$) { Line 130  sub get_backup_id($$$) {
130                  FROM backups                  FROM backups
131                  INNER JOIN shares       ON backups.shareID=shares.ID                  INNER JOIN shares       ON backups.shareID=shares.ID
132                  INNER JOIN hosts        ON backups.hostID = hosts.ID                  INNER JOIN hosts        ON backups.hostID = hosts.ID
133                  where hosts.name = ? and shares.name = ? and backups.num = ?                  WHERE hosts.name = ? and shares.name = ? and backups.num = ?
134          });          });
135          $sth->execute($host, $share, $num);          $sth->execute($host, $share, $num);
136          my ($id) = $sth->fetchrow_array;          my ($id) = $sth->fetchrow_array;
# Line 142  sub get_backup_id($$$) { Line 142  sub get_backup_id($$$) {
142          return $id;          return $id;
143  }  }
144    
145    sub backup_inc_deleted($) {
146            my $backup_id = shift;
147            my $sth_inc_deleted = $dbh->prepare(qq{
148                    update backups set
149                            inc_deleted = true
150                    where id = ?
151            });
152            $sth_inc_deleted->execute($backup_id);
153    }
154    
155  sub tar_check($$$$) {  sub tar_check($$$$) {
156          my ($host,$share,$num,$filename) = @_;          my ($host,$share,$num,$filename) = @_;
# Line 274  sub tar_check($$$$) { Line 283  sub tar_check($$$$) {
283                          print ", EMPTY tar\n";                          print ", EMPTY tar\n";
284    
285                          my $backup_id = get_backup_id($host, $share, $num);                          my $backup_id = get_backup_id($host, $share, $num);
286                            backup_inc_deleted( $backup_id );
                         my $sth_inc_deleted = $dbh->prepare(qq{  
                                 update backups set  
                                         inc_deleted = true  
                                 where id = ?  
                         });  
                         $sth_inc_deleted->execute($backup_id);  
287    
288                          $dbh->commit;                          $dbh->commit;
289    
# Line 387  from backups Line 390  from backups
390                  and shares.id = backups.shareid                  and shares.id = backups.shareid
391          join hosts on shares.hostid = hosts.id          join hosts on shares.hostid = hosts.id
392          full outer join backup_parts on backups.id = backup_parts.backup_id          full outer join backup_parts on backups.id = backup_parts.backup_id
393  where not inc_deleted  where not inc_deleted and backups.size > 0
394  group by backups.id, hosts.name, shares.name, backups.num, backups.date, inc_size, parts, backup_parts.backup_id  group by backups.id, hosts.name, shares.name, backups.num, backups.date, inc_size, parts, backup_parts.backup_id
395  order by backups.date  order by backups.date
396    
# Line 415  while (my $row = $sth->fetchrow_hashref) Line 418  while (my $row = $sth->fetchrow_hashref)
418          # this will return -1 if file doesn't exist          # this will return -1 if file doesn't exist
419          my $size = BackupPC::SearchLib::get_tgz_size_by_name($tar_file);          my $size = BackupPC::SearchLib::get_tgz_size_by_name($tar_file);
420    
421          print "# size: $size backup.size: ", $row->{inc_size},"\n" if ($opt{d});          print "# host: ".${row->{host}}.", share: ".$row->{'share'}.", backup_num:".$row->{num}." size: $size backup.size: ", $row->{inc_size},"\n" if ($opt{d});
422    
423          if ( $row->{'inc_size'} != -1 && $size != -1 && $row->{'inc_size'} >= $size && $row->{parts} == $row->{backup_parts}) {          if ( $row->{'inc_size'} != -1 && $size != -1 && $row->{'inc_size'} >= $size && $row->{parts} == $row->{backup_parts}) {
424                  if ($check) {                  if ($check) {
# Line 431  while (my $row = $sth->fetchrow_hashref) Line 434  while (my $row = $sth->fetchrow_hashref)
434          my $t = time();          my $t = time();
435    
436          # re-create archive?          # re-create archive?
437          my $cmd = qq{ $tarIncCreate -h "$row->{'host'}" -s "$row->{'share'}" -n $row->{'num'} -f };          my $cmd = qq[ $tarIncCreate -h "$row->{host}" -s "$row->{share}" -n $row->{num} -f ];
438          print STDERR "## $cmd\n" if ($debug);          print STDERR "## $cmd\n" if ($debug);
439    
440          if (system($cmd) != 0) {          if (system($cmd) != 0) {
441                  print STDERR " FAILED";                  print STDERR " FAILED, marking this backup deleted";
442                    backup_inc_deleted( $row->{backup_id} );
443          }          }
444    
445          print ", dur: ",fmt_time(time() - $t), "\n";          print ", dur: ",fmt_time(time() - $t), "\n";

Legend:
Removed from v.294  
changed lines
  Added in v.371

  ViewVC Help
Powered by ViewVC 1.1.26