Как скопировать разреженный файл с помощью scp?

Как скопировать разреженный файл с помощью scp?

Есть ли у меня возможность scpскопировать разреженный файл?

Следующая команда работает с ssh, но я ищу вариант, в SCPкотором копируется разреженный файл.

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

решение1

scpне поддерживает разреженные файлы. rsyncВместо этого используйте .

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

решение2

Вы также сможете сделать это через SFTP, хотя я не знаю ни одного SFTP-клиента, поддерживающего эту функцию.

Обновлять: Я добавил эту функцию в разрабатываемую версию моего модуля PerlNet::SFTP::Иностранный. Например:

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

решение3

Можете добавить

--разреженный=всегда

кscpкоманда, но она скопирует обычный файл на другую сторону (не разреженный).

решение4

Просто добавьте эту опцию в scp:

--sparse=always

Он указан на странице руководства cp, но также работает и для scp.

Связанный контент