web-dev-qa-db-ja.com

scpを使用してスパースファイルをコピーする方法

scpにスパースファイルをコピーできるオプションはありますか?

次のコマンドはsshで機能しますが、スパースファイルをコピーするSCPのオプションを探しています。

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

scpはスパースファイルをサポートしていません。代わりにrsyncを使用してください。

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

あなたは付け加えられます

--sparse = always

to scpコマンドですが、通常のファイルを反対側にコピーします(スパースなし)。

0
Hrvoje Horvat

このオプションをscpに追加するだけです:

--sparse=always

これはcpのmanページにリストされていますが、scpでも機能します。

0
brbhou

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