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


15

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

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

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

Ответы:


15

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

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

Спасибо за ответ. Rsync делает через SSH. Но я ищу именно редкую копию файла с помощью команды «scp»

1
rsync, к сожалению, может быть намного медленнее в некоторых случаях ...
Флориан Хейгл

0

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

Обновление : я добавил эту функцию в версию разработки моего модуля Perl Net :: SFTP :: Foreign . В примере:

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

будет ли это возможно при использовании собственного клиента SFTP в Linux? У вас есть синтаксис для команды sftp?

нет, но смотри мой обновленный пост
salva

0

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

--sparse=always

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


0

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

--sparse = всегда

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.