5 use lib "__INSTALLDIR__/lib";
8 use BackupPC::SearchLib;
10 my $bpc = BackupPC::Lib->new || die "can't create BackupPC::Lib";
11 my %Conf = $bpc->Conf();
12 my $tar_dir = $Conf{InstallDir}."/".$Conf{GzipTempDir};
13 %BackupPC::SearchLib::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 });
18 my $tar_dir = $Conf{InstallDir}.'/'.$Conf{GzipTempDir};
20 SELECT hosts.name AS host, shares.name AS share, backups.num AS num, MAX(archive_burned.copy)
22 INNER JOIN hosts ON (hosts.id=backups.hostid)
23 INNER JOIN shares ON (shares.id=backups.shareid)
24 INNER JOIN archive_backup ON (archive_backup.backup_id=backups.id)
25 INNER JOIN archive_burned ON (archive_burned.archive_id=archive_backup.archive_id)
27 HAVING MAX(archive_burned.copy)>=2;
29 my $sth = $dbh->prepare($sql);
33 while (my $row = $sth->fetchrow_hashref()) {
34 my $filename = BackupPC::SearchLib::getGzipName($row->{'host'}, $row->{'share'}, $row->{'num'});
36 $filename .= ".tar.gz";
37 $filename = $tar_dir . "/" . $filename;
38 my $fs_size = stat($filename)[7];
39 $totalRemoved += $fs_size;
40 print "removing $filename... size: $fs_size\n";
41 # if (system("rm $filename") != 0) {
42 # print "ERROR: unable to remove $filename.\n";
46 print "Finished. Freed $totalRemoved bytes (".($totalRemoved/(1024*1024))."MB\n";