my $parts = 1;
foreach my $key(keys(%In)) {
- print LOG "doing $key...";
if ($key =~ m/^fcb([0-9]+)_([0-9]+)_([0-9]+)$/gi) {
my ($host_id, $backup_num, $backup_id) = ($1,$2,$3);
push @selected_backup_ids, $backup_id;
- my $currSize = BackupPC::SearchLib::getGzipSize($host_id, $backup_num);
- if ($currSize > 0) {
- $total_size += currSize;
+ my $currSize = BackupPC::SearchLib::getGzipSizeFromBackupID($backup_id);
+ my $sth_size = $dbh->prepare(q{select inc_size from backups where id = ?});
+ $sth_size -> execute( $backup_id );
+ my $db_size = $sth_size->fetchrow_hashref()->{inc_size};
+
+ if ($db_size != $currSize) {
+ $cont .= "NOT EQUAL!: [fs_size:$currSize, db_size:$db_size, backup_id:$backup_id] <br />";
}
+
+ if ($currSize > 0) {
+ $total_size += $currSize;
+ }
$selected++;
my ($this_part) = $dbh->selectrow_array("select parts from backups where id = ?", undef, $backup_id);
$this_part--;
$parts += $this_part;
- } }
+ }
+ }
if ($total_size > ($Conf{MaxArchiveSize} * $parts)) {
$cont .= eval( q{ ${h2(Error)}});
$dbh->commit();
+ my $db_size = 0;
+ $sth = $dbh->prepare('SELECT SUM(gzip_size) AS suma FROM backups_on_dvds WHERE dvd_nr=?');
+ $sth->execute($dvd_nr);
+ $db_size = $sth->fetchrow_hashref()->{suma};
+ $sth->finish();
+
$cont .= q{
Archived following backups:
} . join(", ", @selected_backup_ids) . q{
<br/>with total size of
- <b>} . sprintf("%1.2f Mb", $total_size / 1024 / 1024) . q{</b>
+ <b>} . sprintf("%1.2f Mb", $total_size / 1024 / 1024)
+ . q{</b>
to media <b>} . $dvd_nr . q{</b>
with following message:
<div style="background-color: #e0e0e0; display: inline; padding: 2px;">
return $size;
}
+sub getGzipSizeFromBackupID($) {
+ my ($backupID) = @_;
+ my $dbh = get_dbh();
+ my $sql = q{
+ SELECT hosts.name as host,
+ shares.name as share,
+ backups.num as backupnum
+ FROM hosts, backups, shares
+ WHERE shares.id=backups.shareid AND
+ hosts.id =backups.hostid AND
+ backups.id = ?
+ };
+ my $sth = $dbh->prepare($sql);
+ $sth->execute($backupID);
+ my $row = $sth->fetchrow_hashref();
+
+ return get_tgz_size_by_name(
+ getGzipName($row->{'host'}, $row->{share}, $row->{backupnum})
+ );
+}
+
sub getGzipSize($$)
{
my ($hostID, $backupNum) = @_;
<script type="text/javascript">
<!--
-var debug_div = null;
+var debug_div;
EOF3
# take maximum archive size from configuration
var fel = element_id('forma').elements[i];
if (fel.name != 'all' && fel.checked && fel.name.substr(0,3) == 'fcb') {
suma = update_size(fel.name.substr(3), fel.checked, suma);
- }
+ }
}
}
update_sum(suma);