5 use lib "/usr/local/BackupPC/lib";
10 my $bpc = BackupPC::Lib->new || die "can't create BackupPC::Lib";
11 my %Conf = $bpc->Conf();
12 my $tar_dir = $Conf{GzipTempDir};
13 %BackupPC::Search::Conf = %Conf;
15 my $dsn = $Conf{SearchDSN} || die "need searchdsn in config.pl\n";
16 my $user = $Conf{SearchUser} || '';
17 my $dbh = DBI->connect($dsn, $user, "", { raiseerror => 1, autocommit => 0 });
19 SELECT hosts.name AS host, shares.name AS share, backups.num AS num, MAX(archive_burned.copy)
21 INNER JOIN hosts ON (hosts.id=backups.hostid)
22 INNER JOIN shares ON (shares.id=backups.shareid)
23 INNER JOIN archive_backup_parts ON (archive_backup_parts.backup_id=backups.id)
24 INNER JOIN archive_burned ON (archive_burned.archive_id=archive_backup_parts.archive_id)
26 HAVING MAX(archive_burned.copy)>=2;
28 my $sth = $dbh->prepare($sql);
32 while (my $row = $sth->fetchrow_hashref()) {
33 my $filename = BackupPC::Search::getGzipName($row->{'host'}, $row->{'share'}, $row->{'num'});
35 $filename .= ".tar.gz";
36 $filename = $tar_dir . "/" . $filename;
37 my $fs_size = (stat($filename))[7];
38 $totalRemoved += $fs_size;
39 print "removing $filename... size: $fs_size\n";
40 # if (system("rm $filename") != 0) {
41 # print "ERROR: unable to remove $filename.\n";
45 print "Finished. Freed $totalRemoved bytes (".($totalRemoved/(1024*1024))."MB\n";