Comment copier un fichier clairsemé en utilisant scp?

15

Avons-nous la possibilité de scpcopier un fichier clairsemé?

La commande suivante fonctionne avec ssh, mais je cherche une option dans SCPlaquelle copie un fichier clairsemé.

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

Réponses:

15

scpne prend pas en charge les fichiers clairsemés. Utilisez rsyncplutôt.

rsync -aS /home/myself/test/ myself@myserver:
clyfish
la source
Merci pour la réponse. Rsync le fait via ssh. Mais je recherche exactement une copie de fichier clairsemée en utilisant la commande 'scp'
1
rsync peut, malheureusement, être beaucoup plus lent dans certains cas ...
Florian Heigl
0

Vous devriez pouvoir le faire également via SFTP, bien que je ne connaisse aucun client SFTP prenant en charge cette fonctionnalité.

Mise à jour : j'ai ajouté cette fonctionnalité dans la version de développement de mon module Perl Net :: SFTP :: Foreign . Par exemple:

#!/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);
salva
la source
cela sera-t-il possible en utilisant le client SFTP natif sous Linux? Avez-vous la syntaxe de la commande sftp?
non, mais voir mon post mis à jour
salva
0

Ajoutez simplement cette option à scp:

--sparse=always

Il est répertorié sur la page de manuel de cp, mais fonctionne également pour scp.

brbhou
la source
0

Vous pouvez ajouter

--sparse = toujours

à la commande scp , mais il copiera le fichier normal de l'autre côté (pas clairsemé).

Hrvoje Horvat
la source