
Есть ли у меня возможность 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-клиента, поддерживающего эту функцию.
Обновлять: Я добавил эту функцию в разрабатываемую версию моего модуля PerlNet::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.