Rsync ใช้เวลานานในการส่งคืนหลังจากเสร็จสิ้นการถ่ายโอนไฟล์


0

ฉันกำลังใช้ rsync เพื่อถ่ายโอนไฟล์ทั้งหมดจากโฟลเดอร์ไปยังเครื่องระยะไกล ฉันมักจะมีไฟล์ระหว่าง 1 และ 3 ทั้งหมดประมาณ 1 Mb ฉันใช้สิ่งต่อไปนี้ rsync คำสั่ง:

rsync -ac -Ph <local>/./ user@<remote>:<folder>

rsync ดูเหมือนว่าจะแขวน หลังจาก ไฟล์ทั้งหมดได้รับการส่ง 100% (ตามรายงานความคืบหน้า); แต่เท่าที่ฉันสามารถบอกได้มันมักจะกลับมาในที่สุดหากฉันรอนานพอ ฉันมักจะรอสักครู่ขัดจังหวะด้วย <ctl-c>และเรียกใช้อีกครั้ง rsync คำสั่งซึ่งโดยปกติแล้วจะเสร็จสิ้นภายในไม่กี่วินาที

ฉันลองใช้ Google เพื่อหาข้อมูลเกี่ยวกับ rsync หยุดทำงาน แต่ไม่มีผลลัพธ์ใดที่ตรงกับสถานการณ์ของฉัน ฉันได้ลองลบ -c ตัวเลือก (checksum) แต่วิธีนี้ไม่สามารถแก้ไขปัญหาได้

ฉันกำลังใช้ rsync 3.0.9 รุ่นโปรโตคอล 30 บน Debian 7 Wheezy

อาจเกี่ยวข้องกับปัญหาที่คล้ายกันซึ่งถามเกี่ยวกับระบบ คำถามนี้เกี่ยวกับ scp.

แก้ไข: กับ -vvvฉันได้รับต่อไปนี้:

// skipping some initial output...
calling match_sums <localfolderpath>/<filename>
<filename>
      32.77K   3%    0.00kB/s    0:00:00  
sending file_sum
false_alarms=0 hash_hits=0 matches=0
       1.01M 100%    9.95MB/s    0:00:00 (xfer#1, to-check=0/2)
sender finished <localfolderpath>/<filename>
generate_files phase=1
recv_files(.)
recv_files(test1h_trivialListener)

... และนั่นคือสิ่งที่มันแขวนอยู่ ฉันฆ่ากระบวนการและโฟลเดอร์ระยะไกลว่างเปล่า


ให้ความสนใจกับเส้นทางต้นทาง: ไม่มี ~ ในตอนแรกคุณจะพยายาม rsync ระบบไฟล์ทั้งหมด ฉันคิดว่าคุณต้องการอะไร: rsync <options> myhost:./ remote:where
Hastur

เอ่อ ... เส้นทางไดเรกทอรีที่ฉันให้เป็นเส้นทางที่สมบูรณ์ สิ่งนี้ควรชัดเจนจากข้อเท็จจริงที่ว่า rsync แสดงรายการและถ่ายโอนไฟล์ที่ฉันคาดไว้เท่านั้นและจากความจริงที่ว่าฉันไม่ได้รับข้อผิดพลาดในการอนุญาต
Kyle Strand

มันอาจจะเกี่ยวข้องกับเซิร์ฟเวอร์ระยะไกล แยม การแลกเปลี่ยนแคช มันควรจะเป็นที่น่าสนใจที่จะสังเกตเห็นว่าสิ่งนี้เกิดขึ้นแม้ว่าคุณจะบังคับระยะไกล sudo echo 3 > /proc/sys/vm/drop_caches และ rsync ก่อนที่คุณจะเริ่มทำ rsync PS & gt; มีอะไรน่าสนใจเมื่อคุณเพิ่มตัวเลือก `-vvv`?
Hastur

@Hastur ฉันได้แก้ไขคำถามเพื่อเพิ่มบางส่วนออกจาก -vvv. ฉันพยายามใส่ 3 ใน drop_caches; ครั้งแรกที่ฉันลองสิ่งนี้ rsync แล้วเสร็จในประมาณ 15 วินาที แต่ในการทดลองครั้งต่อไปดูเหมือนว่าจะใช้เวลานานกว่า ฉันจะลองทำ time rsync ..... ไปยังไดเรกทอรีปลายทางว่าง 6 ครั้งในแถวเพื่อรับข้อมูลที่เป็นของแข็ง คุณหมายถึงอะไรเกี่ยวกับการทำ rsync ก่อนที่ฉันจะเริ่ม "ของจริง" rsync?
Kyle Strand

ข้อผิดพลาดที่เปลือยเปล่า: ฉันหมายถึง sudo echo 3 > /proc/sys/vm/drop_caches และ sync. สิ่งนี้จะซิงโครไนซ์ไฟล์และเพิ่มหน่วยความจำในคอมพิวเตอร์ที่เสร็จสิ้น เนื่องจากดูเหมือนว่าคุณมีปัญหากับส่วนที่สองของ rsync ฉันหมายถึงเรียกใช้พวกเขาบนเซิร์ฟเวอร์ระยะไกลก่อนที่จะทำงาน rsync. หากคุณมีไม่เพียงพอบนเซิร์ฟเวอร์ลองง่ายๆ sync. BTW: คุณสามารถเพิ่มได้ --stats เพื่อมีข้อมูลเพิ่มเติม สาเหตุที่เป็นไปได้หลายประการเกี่ยวกับสาเหตุที่การเขียนจากระยะไกลช้า: อาจทำให้คอมพิวเตอร์ระยะไกลไม่ว่าง, ข้อผิดพลาดของดิสก์, อุปกรณ์ช้า (USB), เส้นทางปลายทาง NFS, rsync ปิศาจ :: ) ...
Hastur
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.