กำลังสแกนหลายไฟล์ในหนึ่งรอบ - ไปยังหลายปลายทางบนเซิร์ฟเวอร์เป้าหมายเครื่องเดียว


9

ฉันต้องการสแกนประมาณครึ่งโหลไฟล์ในไดเรกทอรีคู่ไปยังไดเรกทอรีเดียวกันในเครื่องเป้าหมาย

หากไม่มีการใช้คีย์ ssh คุณสามารถใช้การโทรเดียวได้หรือไม่

ตัวอย่างเช่น:

scp /path/to/fileA,/anoth/erpath/to/fileB,/yet/more/files/*    #continue next line
    destination:/path/to,/anoth/erpath/to,/yet/more/files

คำตอบ:


8

บีบอัดไฟล์ที่ด้านการส่งและคลายซิปที่ด้านรับ

tar -cf - /path/to/fileA /anoth/erpath/to/fileB /yet/more/files/* |
ssh -C destination 'cd / && tar -xf -'

คุณสามารถสคริปต์เซสชัน sftp หรือใช้ rsync ด้วยตัวกรองที่ถูกต้อง


หากคุณมีไฟล์เพียงไม่กี่ไฟล์คุณต้องคัดลอกผลรวมเกินกว่าที่ฉันขอขอบคุณสำหรับscp -rวิธีแก้ปัญหา แต่สำหรับสิ่งนี้จะเร็วกว่ามาก
xaedes

4

คุณสามารถคัดลอกจากหลาย src ไปยังปลายทางเดียว scp -r src1 src2 ... dst แต่ไม่ถึงจุดหมายหลายแห่ง

ทางเลือกหนึ่งคือการคัดลอกไดเรกทอรีทั้งหมดไปยังไดเรกทอรีปลายทางชั่วคราว จากนั้นย้ายพวกเขากลับมาในภายหลัง


สิ่งนี้ทำงานได้ดีเหมือนกับโซลูชัน tar-ssh รวมทั้งง่ายต่อการพิมพ์ / จำ นอกจากนี้ยังให้ข้อเสนอแนะแก่คุณเกี่ยวกับสิ่งที่กำลังอัปโหลด แต่ถ้าคุณมีไฟล์ขนาดเล็กจำนวนมากที่จะคัดลอก tar-ssh จะเร็วกว่ามากเนื่องจากมันจะต้องถ่ายโอนไฟล์ขนาดใหญ่เพียงไฟล์เดียวในขณะที่ scp-r จะคัดลอกแต่ละไฟล์ที่มีค่าใช้จ่ายมากกว่า
xaedes

1

ดูpsshแพ็คเกจ มันมีparallel-scpคำสั่ง -hตัวเลือกช่วยให้คุณสามารถให้ไฟล์ข้อความที่มีหลายโฮสต์เป็นปลายทาง (หนึ่งต่อบรรทัด)


เรื่องนี้ต้องถามรหัสผ่านทุกครั้งที่ไฟล์จาก A ไปที่ B หรือไม่?
warren

2
ssh-addสำหรับการที่ผมใช้ คุณพิมพ์ข้อมูลรับรองของคุณหนึ่งครั้งในตอนต้นของวัน จากนั้นคุณเข้าสู่ระบบโดยอัตโนมัติ
Coder ชั่วคราว

0

ฉันใช้คำสั่งต่อไปนี้เพื่อคัดลอกหลายไฟล์ไปยังหลายปลายทาง

scp -r src {1,2,3} ปลายทาง {1,2,3}

คำสั่งนี้ทำหน้าที่เหมือนชุดคำสั่งต่อไปนี้

scp -r src1 dest1

scp -r src1 dest2

.

.

.

scp -r src3 dest2

scp -r src3 dest3


ไม่ทำงานเมื่อฉันลอง ubuntu@landslide:~$ scp -r {test1,test2} landslide:/home/ubuntu/{test3,test4} scp: /home/ubuntu/test4: No such file or directoryมันต้องการให้ปลายทางเป็นไดเรกทอรี
sudo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.