ฉันถ่ายโอนไดเรกทอรีขนาดใหญ่บ่อยๆscp
และมันจะหวานถ้าฉันสามารถบีบอัดไดเรกทอรีส่งและแตกมันทั้งหมดในที่เดียว
เป็นไปได้อย่างนี้ไหม?
ฉันถ่ายโอนไดเรกทอรีขนาดใหญ่บ่อยๆscp
และมันจะหวานถ้าฉันสามารถบีบอัดไดเรกทอรีส่งและแตกมันทั้งหมดในที่เดียว
เป็นไปได้อย่างนี้ไหม?
คำตอบ:
วิธีการเกี่ยวกับการใช้rsync
แทนด้วย-z
ตัวเลือกเปิดใช้งานการบีบอัด?
rsync -az --progress source_dir/* remote_host:/destination_dir
สิ่งนี้ยังมีประโยชน์เพิ่มเติมที่ว่าถ้าไฟล์นั้นมีอยู่แล้วและไม่ได้เปลี่ยนในปลายทางมันจะไม่ถูกถ่ายโอน
ขอบคุณคำตอบของ @ johnshen64 ทำให้ฉันสามารถทำสิ่งที่ค่อนข้างดีได้
tar -zc path/to/source | ssh user@remote tar -zxC path/to/destination
น่าเสียดายที่นี่ไม่ได้แสดงความคืบหน้าในขณะที่ถ่ายโอน ฉันสังเกตเห็นการปรับปรุงความเร็วอย่างไม่น่าเชื่อโดยใช้วิธีนี้
หากใครรู้วิธีแสดงความคืบหน้าสำหรับการโอนเช่นนี้ฉันขอขอบคุณความช่วยเหลือเป็นอย่างมาก :)
ดีฉันจะใช้ tar แทน
tar cf - ไดเรกทอรี | เซิร์ฟเวอร์ ssh 'tar xf -'
คุณสามารถเพิ่ม v เพื่อยืนยัน
zip ควรเหมือนกัน แต่ tar มีความแข็งแกร่งกว่าสำหรับ linux ในความคิดของฉัน
-
อักขระที่เป็นความลับรวมถึงใช้การบีบอัด gzip และอนุญาตให้กำหนดเป้าหมายไดเรกทอรีปลายทาง
f -
อาจจำเป็นสำหรับระบบปฏิบัติการอื่นเนื่องจากtarเวอร์ชั่นส่วนใหญ่จะพยายามอ่านจากเทปไดรฟ์ การอ่านจาก stdin โดยค่าเริ่มต้นเป็น GNU เฉพาะ
pv
ระหว่างน้ำมันดินและSSH