
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
あなたは付け加えられます
--sparse=常に
にSCP-10 ...コマンドですが、反対側に通常のファイルがコピーされます (スパースなし)。
答え4
このオプションを scp に追加するだけです:
--sparse=always
これは cp のマニュアルページに記載されていますが、scp でも機能します。