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

これはLinuxのネイティブSFTPクライアントを使用して可能ですか?sftpコマンドの構文はありますか?

いいえ。ただし、更新された投稿を参照してください
-salva

0

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

--sparse=always

cpのマニュアルページにリストされていますが、scpでも機能します。


0

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

--sparse = always

scpコマンドが、それは他の側(なしスパース)上の通常のファイルをコピーします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.