Come copiare un file sparse usando scp?


15

Abbiamo qualche opzione per scppoter copiare un file sparse?

Il seguente comando funziona con ssh, ma sto cercando un'opzione in SCPcui copiare un file sparse.

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

Risposte:


15

scpnon supporta file sparsi. Usa rsyncinvece.

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

Grazie per la risposta. Rsync lo fa tramite ssh. Ma sto cercando esattamente la copia di file sparsi usando il comando 'scp'

1
Sfortunatamente, in alcuni casi rsync può essere molto più lento ...
Florian Heigl,

0

Dovresti essere in grado di farlo anche tramite SFTP, anche se non conosco alcun client SFTP che supporti tale funzionalità.

Aggiornamento : ho aggiunto quella funzione nella versione di sviluppo del mio modulo Perl Net :: SFTP :: Foreign . Per esempio:

#!/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);

sarà possibile usare il client SFTP nativo in Linux? Hai la sintassi per il comando sftp?

no, ma vedi il mio post aggiornato
salva

0

Aggiungi questa opzione a scp:

--sparse=always

È elencato nella pagina man di cp, ma funziona anche per scp.


0

Puoi aggiungere

--sparse = sempre

al comando scp , ma copierà il file normale dall'altro lato (non scarso).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.