Làm thế nào để sao chép một tập tin thưa bằng scp?


15

Chúng tôi có bất kỳ tùy chọn nào trong scpđó tôi có thể sao chép một tệp thưa không?

Lệnh sau hoạt động với ssh, nhưng tôi đang tìm kiếm một tùy chọn trong SCPđó sao chép một tệp thưa thớt.

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

Câu trả lời:


15

scpkhông hỗ trợ các tập tin thưa thớt. Sử dụng rsyncthay thế.

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

Cảm ơn vì sự trả lời. Rsync không thông qua ssh. Nhưng tôi đang tìm kiếm chính xác bản sao tệp thưa thớt bằng lệnh 'scp'

1
Thật không may, rsync có thể chậm hơn rất nhiều trong một số trường hợp ...
Florian Heigl

0

Bạn cũng có thể thực hiện điều đó thông qua SFTP, mặc dù tôi không biết bất kỳ ứng dụng khách SFTP nào hỗ trợ tính năng đó.

Cập nhật : Tôi đã thêm tính năng đó vào phiên bản phát triển của mô-đun Perl Net :: SFTP :: Foreign . Trong ví dụ:

#!/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);

điều này có thể sử dụng máy khách SFTP riêng trong Linux không? Bạn có cú pháp cho lệnh sftp không?

không, nhưng hãy xem bài đăng cập nhật của tôi
salva

0

Chỉ cần thêm tùy chọn này vào scp:

--sparse=always

Nó được liệt kê trên trang cp man, nhưng cũng hoạt động cho scp.


0

Bạn có thể thêm

- thưa thớt = luôn

để lệnh scp , nhưng nó sẽ sao chép tập tin thông thường ở phía bên kia (không thưa thớt).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.