system(@_) == 0 || die "system @_:$!";
}
+my $sth_inc_size = $dbh->prepare(qq{
+ update backups set
+ inc_size = ?,
+ parts = ?,
+ inc_deleted = false
+ where id = ?
+});
+
sub check_archive {
my ($host,$num) = @_;
print " [parts: ",join(", ", @tar_parts),"]" if $debug;
- my $same = 1;
my @tar_files;
my $backup_part;
print " reading" if $debug;
- my $part_nr = 1;
+ my $part_nr = 0;
+ my $inc_size = 0;
foreach my $filename (@tar_parts) {
my $md5 = $md5sum->{$filename} || die "no md5sum for $filename in ",dump($md5sum);
my $items = 1;
+ $part_nr++;
check_part($host, $num, $part_nr, $tar_size, $size, $md5, $items);
- $part_nr++;
+ # round increment size to 2k block size
+ $inc_size += int(($size + 2048) / 2048);
}
- # short-cut and exit;
- return $same unless($same);
+ $sth_inc_size->execute(
+ $inc_size,
+ $part_nr,
+ get_backup_id($host, $num),
+ );
+ $dbh->commit;
@tar_files = sort @tar_files;
print "\n\t",($#tar_files + 1), " tar files";
@db_files = sort @db_files;
+ my $same = 1;
+
if ($#tar_files != $#db_files) {
$same = 0;
print " NUMBER";