เรามีตัวเลือกใดบ้างscp
ที่ฉันสามารถคัดลอกไฟล์แบบกระจายได้หรือไม่
คำสั่งดังต่อไปนี้ใช้งานได้ssh
แต่ฉันกำลังมองหาตัวเลือกSCP
ที่คัดลอกไฟล์กระจัดกระจาย
tar -Szcf - /home/myself/test/ | \
ssh myself@myserver 'tar -C /home/myself/test_scp -zvxf -'
เรามีตัวเลือกใดบ้างscp
ที่ฉันสามารถคัดลอกไฟล์แบบกระจายได้หรือไม่
คำสั่งดังต่อไปนี้ใช้งานได้ssh
แต่ฉันกำลังมองหาตัวเลือกSCP
ที่คัดลอกไฟล์กระจัดกระจาย
tar -Szcf - /home/myself/test/ | \
ssh myself@myserver 'tar -C /home/myself/test_scp -zvxf -'
คำตอบ:
scp
ไม่รองรับไฟล์ที่กระจัดกระจาย ใช้rsync
แทน
rsync -aS /home/myself/test/ myself@myserver:
คุณควรจะสามารถทำได้ผ่าน 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);
เพียงเพิ่มตัวเลือกนี้ใน scp:
--sparse=always
มันแสดงอยู่ในหน้า man cp แต่ก็ใช้ได้กับ scp ด้วย
คุณสามารถเพิ่ม
--sparse = เสมอ
เพื่อคำสั่งscpแต่มันจะคัดลอกไฟล์ปกติในด้านอื่น ๆ (ไม่มีกระจัดกระจาย)