Como copiar um arquivo esparso usando scp?

15

Temos alguma opção em scpque eu poderia copiar um arquivo esparso?

O comando a seguir funciona com ssh, Mas estou procurando uma opção na SCPqual copia um arquivo esparso.

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

Respostas:

15

scpnão suporta arquivos esparsos. Use em rsyncvez disso.

rsync -aS /home/myself/test/ myself@myserver:
clyfish
fonte
Obrigado pela resposta. Rsync faz via ssh. Mas eu estou olhando exatamente para a cópia arquivo esparso usando 'scp' comando
1
rsync pode, infelizmente, ser muito mais lento em alguns casos ...
Florian Heigl
0

Você deve conseguir fazer isso também através do SFTP, embora eu não conheça nenhum cliente SFTP que suporte esse recurso.

Atualização : eu adicionei esse recurso na versão de desenvolvimento do meu módulo Perl Net :: SFTP :: Foreign . No exemplo:

#!/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
fonte
isso será possível usando o cliente SFTP nativo no Linux? Você tem a sintaxe para o comando sftp?
não, mas veja meu post atualizado
salva
0

Basta adicionar esta opção ao scp:

--sparse=always

Ele está listado na página de manual do cp, mas também funciona para o scp.

brbhou
fonte
0

Você pode adicionar

--sparse = sempre

ao comando scp , mas ele copiará o arquivo normal do outro lado (sem dispersão).

Hrvoje Horvat
fonte