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

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to