如何使用scp复制稀疏文件?


15

我们scp可以复制一个稀疏文件吗?

以下命令可用于ssh,但是我正在寻找SCP复制稀疏文件的选项。

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

Answers:


15

scp不支持稀疏文件。使用rsync代替。

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

感谢您的回复。Rsync通过ssh执行。但是我正在使用'scp'命令寻找稀疏文件副本

1
不幸的是,rsync在某些情况下会变慢很多
Florian Heigl

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。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.