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

Respostas:


15

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

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

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

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.


0

Você pode adicionar

--sparse = sempre

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.