¿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 -'

Respuestas:


15

scpno admite archivos dispersos. Usar en su rsynclugar.

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

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);

¿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.


0

Puedes añadir

--sparse = siempre

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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.