From: Dobrica Pavlinusic Date: Sun, 30 Jan 2011 13:04:48 +0000 (+0100) Subject: git mv BackupPC_removeBurnedArchives BackupPC_ASA_removeBurnedArchives X-Git-Url: http://git.rot13.org/?p=BackupPC.git;a=commitdiff_plain;h=9fecbd8a0fc6460ca8837c6b38dc9c03ed21c05e git mv BackupPC_removeBurnedArchives BackupPC_ASA_removeBurnedArchives --- diff --git a/bin/BackupPC_ASA_removeBurnedArchives b/bin/BackupPC_ASA_removeBurnedArchives new file mode 100755 index 0000000..798b1fa --- /dev/null +++ b/bin/BackupPC_ASA_removeBurnedArchives @@ -0,0 +1,48 @@ +#!/usr/bin/perl -w +use strict; +no utf8; + +use lib "/usr/local/BackupPC/lib"; +use DBI; +use BackupPC::Lib; +use BackupPC::Search; +use Data::Dumper; +my $bpc = BackupPC::Lib->new || die "can't create BackupPC::Lib"; +my %Conf = $bpc->Conf(); +my $tar_dir = $Conf{GzipTempDir}; +%BackupPC::Search::Conf = %Conf; +#die(Dumper(\%Conf)); +my $dsn = $Conf{SearchDSN} || die "need searchdsn in config.pl\n"; +my $user = $Conf{SearchUser} || ''; +my $dbh = DBI->connect($dsn, $user, "", { raiseerror => 1, autocommit => 0 }); +my $sql = q{ + SELECT hosts.name AS host, shares.name AS share, backups.num AS num, MAX(archive_burned.copy) + FROM backups + INNER JOIN hosts ON (hosts.id=backups.hostid) + INNER JOIN shares ON (shares.id=backups.shareid) + INNER JOIN archive_backup ON (archive_backup.backup_id=backups.id) + INNER JOIN archive_burned ON (archive_burned.archive_id=archive_backup.archive_id) + GROUP BY 1, 2, 3 + HAVING MAX(archive_burned.copy)>=2; +}; +my $sth = $dbh->prepare($sql); +my $totalRemoved = 0; +$sth->execute(); + +while (my $row = $sth->fetchrow_hashref()) { + my $filename = BackupPC::Search::getGzipName($row->{'host'}, $row->{'share'}, $row->{'num'}); + + $filename .= ".tar.gz"; + $filename = $tar_dir . "/" . $filename; + my $fs_size = (stat($filename))[7]; + $totalRemoved += $fs_size; + print "removing $filename... size: $fs_size\n"; +# if (system("rm $filename") != 0) { +# print "ERROR: unable to remove $filename.\n"; +# } +} + +print "Finished. Freed $totalRemoved bytes (".($totalRemoved/(1024*1024))."MB\n"; + +$sth->finish(); +$dbh->disconnect(); diff --git a/bin/BackupPC_removeBurnedArchives b/bin/BackupPC_removeBurnedArchives deleted file mode 100755 index 798b1fa..0000000 --- a/bin/BackupPC_removeBurnedArchives +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/perl -w -use strict; -no utf8; - -use lib "/usr/local/BackupPC/lib"; -use DBI; -use BackupPC::Lib; -use BackupPC::Search; -use Data::Dumper; -my $bpc = BackupPC::Lib->new || die "can't create BackupPC::Lib"; -my %Conf = $bpc->Conf(); -my $tar_dir = $Conf{GzipTempDir}; -%BackupPC::Search::Conf = %Conf; -#die(Dumper(\%Conf)); -my $dsn = $Conf{SearchDSN} || die "need searchdsn in config.pl\n"; -my $user = $Conf{SearchUser} || ''; -my $dbh = DBI->connect($dsn, $user, "", { raiseerror => 1, autocommit => 0 }); -my $sql = q{ - SELECT hosts.name AS host, shares.name AS share, backups.num AS num, MAX(archive_burned.copy) - FROM backups - INNER JOIN hosts ON (hosts.id=backups.hostid) - INNER JOIN shares ON (shares.id=backups.shareid) - INNER JOIN archive_backup ON (archive_backup.backup_id=backups.id) - INNER JOIN archive_burned ON (archive_burned.archive_id=archive_backup.archive_id) - GROUP BY 1, 2, 3 - HAVING MAX(archive_burned.copy)>=2; -}; -my $sth = $dbh->prepare($sql); -my $totalRemoved = 0; -$sth->execute(); - -while (my $row = $sth->fetchrow_hashref()) { - my $filename = BackupPC::Search::getGzipName($row->{'host'}, $row->{'share'}, $row->{'num'}); - - $filename .= ".tar.gz"; - $filename = $tar_dir . "/" . $filename; - my $fs_size = (stat($filename))[7]; - $totalRemoved += $fs_size; - print "removing $filename... size: $fs_size\n"; -# if (system("rm $filename") != 0) { -# print "ERROR: unable to remove $filename.\n"; -# } -} - -print "Finished. Freed $totalRemoved bytes (".($totalRemoved/(1024*1024))."MB\n"; - -$sth->finish(); -$dbh->disconnect();