如何使用 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 用戶端支援該功能。

更新:我已將該功能新增至 Perl 模組的開發版本中Net::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。

相關內容