Bug #16437 mysqlhotcopy rsync support
Description:
mysqlhotcopy really supports two methods right now: "cp" and "scp". However, they ways some utilities are built could allow more. In fact, I've been able to hack in support for rsync really by just corrupting mysqlhotcopy in accepting it, without any special other provisions.
So here it is, rsync support... it really helps when you sync the database to another mysql server for safety fallback, without the hassle of having to setup full replication. Big tables are a breeze to copy, benefiting from the usual astronomic speed improvements of rsync.
How to repeat:
n/a.
Suggested fix:
Let's hope this form doesn't screw up formatting too much.. Anyways the patch is so trivial it could just be applied as is.
--- /usr/bin/mysqlhotcopy.orig 2006-01-11 23:41:08.000000000 -0500
+++ /usr/bin/mysqlhotcopy 2006-01-11 23:51:49.000000000 -0500
@@ -364,7 +364,7 @@
$rdb->{target} = "$tgt_dirname";
}
}
- elsif ($opt{method} =~ /^scp\b/)
+ elsif ($opt{method} =~ /^scp\b/ || $opt{method} =~ /^rsync\b/)
{ # we have to trust scp to hit the target
foreach my $rdb ( @db_desc ) {
$rdb->{target} = "$tgt_dirname/$rdb->{src}";
@@ -421,7 +421,7 @@
if ( $opt{dryrun} ) {
print "mkdir $tgt_dirpath, 0750\n";
}
- elsif ($opt{method} =~ /^scp\b/) {
+ elsif ($opt{method} =~ /^scp\b/ || $opt{method} =~ /^rsync\b/) {
## assume it's there?
## ...
}
@@ -595,7 +595,7 @@
copy($file, $target."/".basename($file));
}
}
- elsif ($method =~ /^s?cp\b/) # cp or scp with optional flags
+ elsif ($method =~ /^s?cp\b/ || $method =~ /^rsync\b/) # cp or scp with optional flags
{
my $cp = $method;
# add option to preserve mod time etc of copied files
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.048 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.
Description: mysqlhotcopy really supports two methods right now: "cp" and "scp". However, they ways some utilities are built could allow more. In fact, I've been able to hack in support for rsync really by just corrupting mysqlhotcopy in accepting it, without any special other provisions. So here it is, rsync support... it really helps when you sync the database to another mysql server for safety fallback, without the hassle of having to setup full replication. Big tables are a breeze to copy, benefiting from the usual astronomic speed improvements of rsync. How to repeat: n/a. Suggested fix: Let's hope this form doesn't screw up formatting too much.. Anyways the patch is so trivial it could just be applied as is. --- /usr/bin/mysqlhotcopy.orig 2006-01-11 23:41:08.000000000 -0500 +++ /usr/bin/mysqlhotcopy 2006-01-11 23:51:49.000000000 -0500 @@ -364,7 +364,7 @@ $rdb->{target} = "$tgt_dirname"; } } - elsif ($opt{method} =~ /^scp\b/) + elsif ($opt{method} =~ /^scp\b/ || $opt{method} =~ /^rsync\b/) { # we have to trust scp to hit the target foreach my $rdb ( @db_desc ) { $rdb->{target} = "$tgt_dirname/$rdb->{src}"; @@ -421,7 +421,7 @@ if ( $opt{dryrun} ) { print "mkdir $tgt_dirpath, 0750\n"; } - elsif ($opt{method} =~ /^scp\b/) { + elsif ($opt{method} =~ /^scp\b/ || $opt{method} =~ /^rsync\b/) { ## assume it's there? ## ... } @@ -595,7 +595,7 @@ copy($file, $target."/".basename($file)); } } - elsif ($method =~ /^s?cp\b/) # cp or scp with optional flags + elsif ($method =~ /^s?cp\b/ || $method =~ /^rsync\b/) # cp or scp with optional flags { my $cp = $method; # add option to preserve mod time etc of copied files