From: <ar...@sy...> - 2008-10-21 09:46:51
|
Author: arighi Date: 2008-10-21 03:45:18 -0500 (Tue, 21 Oct 2008) New Revision: 4465 Modified: trunk/sbin/si_pcp trunk/sbin/si_pushoverrides Log: added option --checksum (-c) to si_pcp and si_pushoverrides This option allows to update only files with changed content (force checksum usage for all the files on the sender). Receiver compares the checksums of each file even if it exists and has the same size as the sender counterpart. Mostly useful with -d (dry-run) to see which file will be altered by the transfer. Signed-off-by: Marco Innocenti <m.i...@ci...> Modified: trunk/sbin/si_pcp =================================================================== --- trunk/sbin/si_pcp 2008-07-21 21:58:12 UTC (rev 4464) +++ trunk/sbin/si_pcp 2008-10-21 08:45:18 UTC (rev 4465) @@ -36,6 +36,10 @@ --dry-run, -d Only show what would have been transferred without really distributing files. + --checksum, -c Update only files with changed content. Mostly + useful with -d to see which file will be altered + because it's often slower than default. + --max, -m=NUM Set the maximum number of concurrent copies to NUM (default=32). @@ -69,6 +73,7 @@ "verbose|v" => \my $verbose, "max|m=i" => \my $concurrents, "dry-run|d" => \my $dry_run, + "checksum|c" => \my $checksum, "hosts|n=s" => \my $hostlist, "hosts-file|f=s" => \my $hostlist_file, "timeout|t=i" => \my $timeout, @@ -99,6 +104,13 @@ $dry_run = ''; } +if ($checksum) { + $checksum = '--checksum'; +} else { + $checksum = ''; +} + + my $source; my $target; if (@ARGV) { @@ -145,7 +157,7 @@ # Use the following ssh options. my $ssh_opts = "-x -o BatchMode=yes -l $ssh_user"; -my $rsync_opts = "-aHISz$verbose $dry_run --numeric-ids --timeout=$timeout --rsh='ssh $ssh_opts'"; +my $rsync_opts = "-aHISz$verbose $dry_run $checksum --numeric-ids --timeout=$timeout --rsh='ssh $ssh_opts'"; # Main program. @hosts = map { $_ .= ":$target" } @hosts; @@ -185,6 +197,14 @@ Only show what would have been transferred without really distributing files. +=item B<--checksum | -c> + +Update only files with changed content (force checksum usage for all the +files on the sender). Receiver compares the checksums of each file (if +it exists and has the same size as the sender counterpart). Mostly +useful with -d to see which file will be altered because it's often slower +than default. + =item B<--max | -m NUM> Set the maximum number of concurrent copies to NUM (default=32). Modified: trunk/sbin/si_pushoverrides =================================================================== --- trunk/sbin/si_pushoverrides 2008-07-21 21:58:12 UTC (rev 4464) +++ trunk/sbin/si_pushoverrides 2008-10-21 08:45:18 UTC (rev 4465) @@ -39,6 +39,10 @@ --dry-run, -d Only show what would have been transferred without really distributing files. + --checksum, -c Update only files with changed content. Mostly + useful with -d to see which file will be altered + because it's often slower than default. + --max, -m=NUM Set the maximum number of concurrent copies to NUM (default=32). @@ -55,6 +59,7 @@ "version|V" => \my $version, "verbose|v" => \my $verbose, "dry-run|d" => \my $dry_run, + "checksum|c" => \my $checksum, "max|m=i" => \my $concurrents, "timeout|t=i" => \my $timeout, ) or die($help_info); @@ -83,6 +88,12 @@ $dry_run = ''; } +if ($checksum) { + $checksum = '-c'; +} else { + $checksum = ''; +} + if ($concurrents) { $concurrents = "-m $concurrents"; } else { @@ -221,7 +232,7 @@ { my ($file_str, @nodes) = @_; - my $base_cmd = "si_pcp $verbose $dry_run $concurrents $timeout"; + my $base_cmd = "si_pcp $verbose $dry_run $checksum $concurrents $timeout"; @nodes = SystemImager::HostRange::sort_unique(@nodes); # Update nodes that needs the same overrides. @@ -289,6 +300,14 @@ Only show what would have been transferred without really distributing files. +=item B<--checksum | -c> + +Update only files with changed content (force checksum usage for all the +files on the sender). Receiver compares the checksums of each file (if +it exists and has the same size as the sender counterpart). Mostly +useful with -d to see which file will be altered because it's often slower +than default. + =item B<--max, -m NUM> Set the maximum number of concurrent sessions to NUM (default=32). |