Jak skopiować rzadki plik za pomocą SCP?


15

Czy mamy jakąś opcję, scpże mogę skopiować rzadki plik?

Następujące polecenie działa z ssh, ale szukam opcji, w SCPktórej kopiuje rzadki plik.

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

Odpowiedzi:


15

scpnie obsługuje rzadkich plików. Użyj rsynczamiast tego.

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

Dzięki za odpowiedzi. Rsync robi to przez ssh. Ale szukam dokładnie rzadkiej kopii pliku za pomocą polecenia „scp”

1
rsync może niestety być o wiele wolniejszy w niektórych przypadkach ...
Florian Heigl

0

Powinieneś być w stanie to zrobić także przez SFTP, chociaż nie znam żadnego klienta SFTP obsługującego tę funkcję.

Aktualizacja : Dodałem tę funkcję do wersji rozwojowej mojego modułu Perla Net :: SFTP :: Foreign . W przykładzie:

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

czy będzie to możliwe przy użyciu natywnego klienta SFTP w systemie Linux? Czy masz składnię polecenia sftp?

nie, ale zobacz mój zaktualizowany post
salva z

0

Po prostu dodaj tę opcję do scp:

--sparse=always

Jest wymieniony na stronie podręcznika cp, ale działa również dla scp.


0

Możesz dodać

- rzadkie = zawsze

do polecenia scp , ale skopiuje zwykły plik po drugiej stronie (bez rzadkich).

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.