Як скопіювати розріджений файл за допомогою 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?

ні, але дивіться мій оновлений пост
сальва

0

Просто додайте цю опцію в scp:

--sparse=always

Він вказаний на сторінці cp man, але також працює для scp.


0

Ви можете додати

--sparse = завжди

в ПКППИ команди, але вона не буде копіювати звичайний файл на іншій стороні (НЕ розрідженій).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.