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 -'

Réponses:


15

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

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

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);

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.


0

Vous pouvez ajouter

--sparse = toujours

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

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.