¿Cómo copiar un archivo disperso usando scp?

¿Cómo copiar un archivo disperso usando scp?

¿Tenemos alguna opción para scppoder copiar un archivo disperso?

El siguiente comando funciona con ssh, pero estoy buscando una opción en SCPla que se copie un archivo disperso.

tar -Szcf - /home/myself/test/ | \
  ssh myself@myserver 'tar -C /home/myself/test_scp -zvxf -'

Respuesta1

scpno admite archivos dispersos. Úselo rsyncen su lugar.

rsync -aS /home/myself/test/ myself@myserver:

Respuesta2

Debería poder hacerlo también a través de SFTP, aunque no conozco ningún cliente SFTP que admita esa función.

Actualizar: Agregué esa característica a la versión de desarrollo de mi módulo Perl.Neto::SFTP::Extranjero. Por ejemplo:

#!/usr/bin/perl

use strict;
use Net::SFTP::Foreign;

@ARGV == 3 or die <<EOU;
Usage:
  sparse_put <host> <src> <dst>

my ($host, $src, $dst) = @ARGV;

$s = Net::SFTP::Foreign->new($host, autodie => 1);
$s->put($src, $dst, sparse => 1);

Respuesta3

Puedes añadir

--sparse=siempre

ascpcomando, pero copiará el archivo normal en el otro lado (no escaso).

Respuesta4

Simplemente agregue esta opción a scp:

--sparse=always

Aparece en la página de manual de cp, pero también funciona para scp.

información relacionada