packages: bacula/bacula-backup-mysql - add -cleanup support
glen
glen at pld-linux.org
Tue Jun 16 17:06:29 CEST 2009
Author: glen Date: Tue Jun 16 15:06:29 2009 GMT
Module: packages Tag: HEAD
---- Log message:
- add -cleanup support
---- Files affected:
packages/bacula:
bacula-backup-mysql (1.4 -> 1.5)
---- Diffs:
================================================================
Index: packages/bacula/bacula-backup-mysql
diff -u packages/bacula/bacula-backup-mysql:1.4 packages/bacula/bacula-backup-mysql:1.5
--- packages/bacula/bacula-backup-mysql:1.4 Wed May 27 14:53:00 2009
+++ packages/bacula/bacula-backup-mysql Tue Jun 16 17:06:23 2009
@@ -1,4 +1,7 @@
-#!/usr/bin/perl -w
+#!/usr/bin/perl -ws
+# Rudimentary switch parsing. Must be in main package.
+our $cleanup;
+
package BBM;
use strict;
use POSIX qw(setuid setgid);
@@ -6,6 +9,7 @@
use File::Temp qw(tempdir);
use File::Path qw(rmtree);
+
# path to Apache HTTPd-style config
my $config = '/etc/bacula/backup-mysql.conf';
my $c = new BBM::Config($config);
@@ -16,6 +20,9 @@
my $gid = getgrnam('mysql');
die "Can't find user/group mysql\n" unless $uid or $gid;
+ # CWD could not be accessible for mysql user
+ chdir("/");
+
$) = "$gid $gid";
$( = $gid;
$> = $< = $uid;
@@ -35,7 +42,11 @@
# process each cluster
for my $cluster ($c->get('clusters', 'cluster')) {
print ">>> $cluster\n";
- backup_cluster($cluster);
+ if ($cleanup) {
+ cleanup_cluster($cluster);
+ } else {
+ backup_cluster($cluster);
+ }
print "<<< $cluster\n";
}
@@ -74,6 +85,14 @@
rmdir($dstdir) or warn $!;
print "<<<< mysqlhotcopy $database\n";
+}
+
+sub cleanup_cluster {
+ my ($cluster) = @_;
+ my $cluster_dir = "$backup_dir/$cluster";
+ print ">>>> cleanup $cluster_dir\n";
+ rmtree($cluster_dir);
+ print "<<<< cleanup $cluster_dir\n";
}
sub backup_cluster {
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/bacula/bacula-backup-mysql?r1=1.4&r2=1.5&f=u
More information about the pld-cvs-commit
mailing list