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