¿Cómo copiar un archivo disperso usando scp?

15

¿Tenemos alguna opción en scpque podría copiar un archivo disperso?

El siguiente comando funciona con ssh, pero estoy buscando una opción en la SCPque copiar un archivo disperso.

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

Respuestas:

15

scpno admite archivos dispersos. Usar en su rsynclugar.

rsync -aS /home/myself/test/ myself@myserver:
clyfish
fuente
Gracias por la respuesta. Rsync lo hace a través de ssh. Pero estoy buscando exactamente una copia de archivo dispersa usando el comando 'scp'
1
Desafortunadamente, rsync puede ser mucho más lento en algunos casos ...
Florian Heigl
0

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

Actualización : He agregado esa característica en la versión de desarrollo de mi módulo Perl Net :: SFTP :: Foreign . 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);
salva
fuente
¿será esto posible usando el cliente SFTP nativo en Linux? ¿Tiene la sintaxis para el comando sftp?
no, pero ver mi post actualizado
Salva
0

Simplemente agregue esta opción a scp:

--sparse=always

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

brbhou
fuente
0

Puedes añadir

--sparse = siempre

al comando scp , pero copiará el archivo normal en el otro lado (sin escasez).

Hrvoje Horvat
fuente