
Temos alguma opção para scp
copiar um arquivo esparso?
O comando a seguir funciona com ssh
, mas estou procurando uma opção que SCP
copie um arquivo esparso.
tar -Szcf - /home/myself/test/ | \
ssh myself@myserver 'tar -C /home/myself/test_scp -zvxf -'
Responder1
scp
não suporta arquivos esparsos. Use rsync
em vez disso.
rsync -aS /home/myself/test/ myself@myserver:
Responder2
Você também deve poder fazer isso por meio de SFTP, embora eu não conheça nenhum cliente SFTP que suporte esse recurso.
Atualizar: adicionei esse recurso à versão de desenvolvimento do meu módulo PerlLíquido::SFTP::Estrangeiro. 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);
Responder3
Você pode adicionar
--esparso = sempre
parascpcomando, mas copiará o arquivo normal do outro lado (não esparso).
Responder4
Basta adicionar esta opção ao scp:
--sparse=always
Está listado na página de manual do cp, mas também funciona para o scp.