การคัดลอกไฟล์ที่มีนามสกุลที่แน่นอนด้วย scp


19

ฉันต้องการคัดลอก.jpgและ.pngไฟล์ด้วยscpแต่มีไฟล์ที่มีนามสกุลต่างกันในโฟลเดอร์เดียวกับที่ฉันกำลังคัดลอก ฉันกำลังทำสิ่งต่อไปนี้:

scp user@someRemoteHost.com:/folder/*.{jpg,png} .

ฉันถูกขอให้ป้อนรหัสผ่านสำหรับส่วนขยายแต่ละประเภท มีวิธีที่จะทำเช่นนี้ในแบบที่ฉันใส่รหัสผ่านเพียงครั้งเดียว?

คำตอบ:


31

เพียงแทนที่ด้วย:

scp user@someRemoteHost.com:'/folder/*.{jpg,png}' .

โปรดจดคำพูดคู่เดียว ในกรณีของคุณเชลล์ในเครื่องของคุณกำลังประเมินค่านิพจน์เปลี่ยนเป็น:

scp user@someRemoteHost.com:/folder/*.jpg user@someRemoteHost.com:/folder/*.png .

ดังนั้นทั้งสองจึงถามรหัสผ่าน ในโซลูชันนี้คู่ของอัญประกาศเดี่ยวปกป้องมันจากการประเมินโดยเชลล์ท้องถิ่นดังนั้นจึงเป็นเชลล์ระยะไกลที่เรียกว่าโดย (ระยะไกล) scp ซึ่งกำลังประเมินการแสดงออก


ฉันจะรวมไดเรกทอรีย่อยทั้งหมดของไดเรกทอรีนั้นได้อย่างไร
xxx ---

@ pushpen.paul หากคุณไม่จำเป็นต้องเลือกเฉพาะไฟล์ png และ jpg แต่ต้องการคัดลอกทุกอย่างการใช้ตัวอย่าง scp -r user@someRemoteHost.com:'/folder' . ควรทำเช่นนั้น ถ้าคุณยังต้องการคัดลอกเฉพาะ png และ jpg ในไดเรกทอรีย่อยคุณอาจไม่สามารถใช้ scp หรือ sftp (ยกเว้น sftp / lftp ด้วยสคริปต์ที่กำหนดเองที่เป็นไปได้) แต่จำเป็นต้องเรียกใช้บางสิ่งเช่น ssh + คู่ tar แทน คุณต้องถามคำถามของคุณเองด้วยความต้องการที่เฉพาะเจาะจงแล้ว
AB

7

ดีกว่าที่จะใช้ rsync สำหรับการคัดลอกการดำเนินงานระหว่างเซิร์ฟเวอร์

 rsync -avzh user@remoteip:/path/*.jpg user@192.168.159.155:/path/*.png localserverpath

การใช้ rsync จะถามรหัสผ่านเพียงครั้งเดียว

นอกจากนี้ใน rsync ขณะที่ถ่ายโอนไฟล์มันจะตรวจสอบในตำแหน่งเป้าหมายหากไฟล์มีอยู่หรือไม่และตรวจสอบว่าเนื้อหาเหมือนกันหรือไม่อยู่ในตำแหน่งต้นทางและตำแหน่งเป้าหมาย

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

rsync มักใช้เป็นเครื่องมือสำรองข้อมูลเพิ่มเติม


8
ไม่ว่าหากมีการใช้rsyncหรือscpจุดคือที่ควรพูด/folder/*.{jpg,png} '/folder/*.{jpg,png}'
αғsнιη
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.