Wie kopiere ich eine Sparse-Datei mit scp?


15

Haben wir eine Möglichkeit scp, eine Sparse-Datei zu kopieren?

Der folgende Befehl funktioniert mit ssh, aber ich suche nach einer Option, bei SCPder eine Sparse-Datei kopiert wird.

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

Antworten:


15

scpunterstützt keine Sparse-Dateien. Verwenden Sie rsyncstattdessen.

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

Danke für die Antwort. Rsync macht via ssh. Aber ich suche genau nach spärlicher Dateikopie mit dem Befehl 'scp'

1
rsync kann in manchen fällen leider viel langsamer sein ...
Florian Heigl

0

Sie sollten dies auch über SFTP tun können, obwohl ich keinen SFTP-Client kenne, der diese Funktion unterstützt.

Update : Ich habe diese Funktion in die Entwicklungsversion meines Perl-Moduls Net :: SFTP :: Foreign aufgenommen . Zum Beispiel:

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

Ist dies mit dem nativen SFTP-Client unter Linux möglich? Haben Sie die Syntax für den Befehl sftp?

nein, aber siehe meine aktualisierte post
salva

0

Fügen Sie einfach diese Option zu scp hinzu:

--sparse=always

Es ist auf der Manpage von cp aufgeführt, funktioniert aber auch für scp.


0

Du kannst hinzufügen

--sparse = immer

zu scp Befehl, aber es kopiert die reguläre Datei auf der anderen Seite (nicht spärlich).

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.