# process each cluster
for my $cluster ($c->get('clusters', 'cluster')) {
- print ">>> $cluster\n";
+ print ">>> cluster: $cluster\n";
if ($cleanup) {
cleanup_cluster($cluster);
} else {
backup_cluster($cluster);
}
- print "<<< $cluster\n";
+ print "<<< end cluster: $cluster\n";
}
#
# i.e: include_database teensForum5./~(phorum_forums|phorum_users)/
my ($database) = $db =~ /^([^\.]+)/;
- print ">>>> mysqlhotcopy $db\n";
-
my $dstdir = tempdir("bbm.XXXXXX", DIR => $tmpdir);
+ # remove output dir before backup,
+ # otherwise the disk space requirement would double
+ my $dirname = "$backup_dir/$cluster/$database";
+ if (-d $dirname) {
+ print ">>>> rmtree $dirname\n";
+ rmtree($dirname);
+ }
+
# make backup with mysqlhotcopy
my @shell = ('mysqlhotcopy');
push(@shell, '-u', $user) if $user;
push(@shell, '-p', $password) if $password;
push(@shell, '-S', $socket) if $socket;
push(@shell, $db, $dstdir);
+ print ">>>> mysqlhotcopy $database\n";
system(@shell) == 0 or die "mysqlhotcopy failed: $?\n";
# put it to "production dir"
die "cluster dir '$cluster_dir' not present and can't be created\n";
}
- my $dirname = "$backup_dir/$cluster/$database";
- if (-d $dirname) {
- rmtree($dirname);
- }
-
my $srcdir = "$dstdir/$database";
unless (rename($srcdir, $dirname)) {
my $err = $!;