ทำความเข้าใจกับผลลัพธ์ของ --info = progress2 จาก rsync


71

ถ้าผมทำงานrsyncกับ--info=progress2ผมได้รับผลเช่น

105.45M  13%  602.83kB/s    0:02:50 (xfr#495, ir-chk=1020/3825)

แต่ตัวเลขเดี่ยวหมายถึงอะไร ฉันไม่พบรายการที่ตรงกันใน man page

  • หมายเลขแรกน่าจะเป็นจำนวนข้อมูลที่ถูกประมวลผล (ไบต์ที่ถูกคัดลอกจริงและไบต์ที่ข้ามไปเนื่องจากมีอยู่แล้วที่ตำแหน่งเป้าหมาย) ใช่ไหม ดูเหมือนว่าจะไม่เป็นจำนวนข้อมูลที่ถ่ายโอนเพราะเพิ่มขึ้นเร็วกว่าการเชื่อมต่ออินเทอร์เน็ตของฉันคือ ...
  • เปอร์เซ็นต์อ้างถึงจำนวนข้อมูลหรือจำนวนไฟล์ที่จะคัดลอกหรือไม่? มีการพิจารณาถึงการแยกไฟล์และไฟล์ที่ทันสมัยแล้วในตำแหน่งเป้าหมายหรือไม่?
  • เวลาที่ตำแหน่งที่สามก่อนดูเหมือนจะเป็นการประเมินเวลาที่จะเสร็จ แต่เมื่อฉันลองมันก็เพิ่มขึ้นระหว่างไม่กี่ชั่วโมงและไม่กี่วินาที มันหมายถึงอะไรและมันคำนวณอย่างไร
  • ตัวเลขสองตัวสุดท้ายหมายถึงอะไร

1
คุณลองmanหน้า ( OPTIONS > --progress) แล้วหรือยัง
don_crissti

1
ดูunix.stackexchange.com/questions/231647/…ที่จะแก้ไข
shirish

คำตอบ:


89
105.45M 13% 602.83kB/s 0:02:50 (xfr#495, ir-chk=1020/3825)

หมายความว่า:

  • ผู้รับ / ปลายทางได้สร้างใหม่แล้ว105.45 เมกะไบต์ (หรือ13% ) จากประมาณ 811.15 เมกะไบต์ (100%) ของไฟล์ของผู้ส่ง / แหล่งที่มา
  • ไฟล์เหล่านี้กำลังถูกสร้างขึ้นใหม่ในอัตรา602.83 กิโลไบต์ต่อวินาทีและการถ่ายโอนข้อมูลนี้ใช้เวลา2 นาทีและ 50 วินาที (เวลาที่ผ่านไป)

นอกจากนี้xfr # 495หมายความว่าขณะนี้ไฟล์ 495 กำลังถูกถ่ายโอนในขณะที่ir-chk = 1020/3825ระบุว่าจากทั้งหมด3825ไฟล์ที่ถูกสแกนซ้ำ (ตรวจพบ) จนถึงขณะนี้1,020 ไฟล์ยังคง ที่จะตรวจสอบ / ตรวจสอบ

หมายความว่าหากการตรวจจับการสแกนเช่นมีไฟล์มากกว่า 100 ไฟล์ที่จะทำการตรวจสอบทั้งสองด้านจะเพิ่มขึ้น 100 (จากนั้นจะอ่านir-chk = 1120/3925 ) หลังจากการสแกนไฟล์ทั้งหมด (ตรวจพบโดยการสแกนซ้ำเพิ่มขึ้น) หมายเลขที่ด้านขวาของเครื่องหมายทับจะยังคงเหมือนเดิมจนกว่าจะสิ้นสุดกระบวนการทั้งหมดในขณะที่ไฟล์ทางด้านซ้ายของเครื่องหมายทับจะเริ่มลดลง เนื่องจากมีการตรวจสอบไฟล์มากขึ้น (ตรวจสอบแล้ว) นอกจากนี้เนื่องจากการสิ้นสุดการเรียกซ้ำir-chkจะเปลี่ยนเป็น-chkระบุว่าการสแกนซ้ำซ้ำเพิ่มขึ้นได้สิ้นสุดลงในการตรวจสอบ (การดำเนินการตรวจจับไฟล์) แต่ถึงกระนั้นเนื่องจากไฟล์จะถูกตรวจสอบ / ตรวจสอบจนกว่าจะมีทั้งหมดจำนวนไฟล์ที่ยังไม่ได้ตรวจสอบ / ตรวจสอบ (ด้านซ้ายของเครื่องหมายทับ) จะลดลงจนกว่าจำนวนดังกล่าวจะกลายเป็นศูนย์ (บ่งบอกถึงจุดสิ้นสุดของกระบวนการตรวจสอบไฟล์) .

ให้Nเป็นจำนวนไฟล์ที่แท้จริงที่จะตรวจสอบ / ตรวจสอบเมื่อกระบวนการทั้งหมดสิ้นสุดลงคุณจะเห็น:

to-chk=0/N

... หมายถึงไม่มีไฟล์เหลือให้ตรวจสอบ / ตรวจสอบจากทั้งหมดNไฟล์ที่ตรวจพบโดยการสแกนซ้ำแบบเพิ่มขึ้น

เกี่ยวกับir-chk (จากหน้าคู่มือของ rsync):

ในการสแกนแบบเรียกซ้ำเพิ่มขึ้น rsync จะไม่ทราบจำนวนไฟล์ทั้งหมดในรายการไฟล์จนกว่าจะถึงจุดสิ้นสุดของการสแกน แต่เนื่องจากมันเริ่มถ่ายโอนไฟล์ระหว่างการสแกนมันจะแสดงบรรทัดที่มีข้อความ " ir-chk "(สำหรับการตรวจสอบการเรียกซ้ำแบบเพิ่มหน่วย) แทน" to-chk "จนกระทั่งถึงจุดที่รู้ขนาดเต็มของรายการ ณ จุดนั้นจะเปลี่ยนเป็นการใช้" to-chk " ดังนั้นเมื่อเห็น "ir-chk" จะช่วยให้คุณทราบว่าจำนวนไฟล์ทั้งหมดในรายการไฟล์ยังคงเพิ่มขึ้น (และทุกครั้งที่ทำเช่นนั้นการนับจำนวนไฟล์ที่เหลือเพื่อตรวจสอบจะเพิ่มขึ้นตามจำนวนไฟล์ที่เพิ่มเข้าไป รายการ).


4
การแก้ไขเล็กน้อย: 2:50 ไม่ใช่ ETA - ถึงเวลาที่ผ่านไปแล้ว
แอบ

4
@YuriSucupira คำตอบของฉันคือความคิดเห็นนั้น ฉันมักจะใช้เสมอ--no-inc-recursiveแต่นั่นไม่ใช่สิ่งที่ฉันกำลังพูดถึง เวลาที่ ETA progress2ใช้ขึ้นอยู่กับข้อมูลทั้งหมด (ที่รู้จัก) และเวลาที่ผ่านไป มันไม่ได้เป็นต่อไฟล์ (แต่จะกะพริบค่าเวลาที่ผ่านไปไฟล์เดียวสำหรับเห็บเมื่อเสร็จสิ้นไฟล์เดียว) มีข้อผิดพลาดเกี่ยวกับเรื่องนี้ในจุดหนึ่งที่จะทำให้ชัดเจนน้อยลง แต่ฉันไม่แน่ใจว่ามันเป็นรุ่นอะไร
Izkata

2
@Izkata ฉันจำการทดสอบ rsync ตามเวลานั้น (17 กรกฎาคม 2016) ก่อนที่จะทำการแถลงใด ๆ ที่นี่เพียงเพื่อให้แน่ใจว่าการทางพิเศษแห่งประเทศไทยเป็นต่อไฟล์แทนระดับโลกและจากนั้นฉันก็ "เชื่อสายตา" ว่ามันเป็น - ไฟล์ ETA ฉันใช้ XUbuntu 14.04 (อย่าจำรุ่น rsync เวอร์ชันใด) อย่างไรก็ตามฉันติดตั้ง XUbuntu 16.04 (มันมาพร้อมกับ rsync 3.1.1-3ubuntu1) สองสามเดือนที่ผ่านมาและฉันสามารถ (ภาพ) ยืนยันว่าrsync -a --info=progress2 /src /destในความเป็นจริงให้เวลาฉันทั้งหมดที่ผ่านไปสลับกับETA ทั่วโลกแทน ETA ต่อไฟล์ มันแปลกและใหม่สำหรับฉัน แต่คุณพูดถูก
Yuri Sucupira

4
@wingedsubmariner ขณะที่กำลังคัดลอกไฟล์ - พูดfile1- rsync จะแสดง ETA ทั่วโลก (ปัจจุบัน) สำหรับกระบวนการคัดลอกทั้งหมด จากนั้นเมื่อเสร็จสิ้นการคัดลอกfile1rsync จะแสดงเวลาที่ผ่านไปทั่วโลก (ปัจจุบัน) แล้วเริ่มการคัดลอกไฟล์ถัดไป - พูดfile2- จึงแสดงให้คุณเห็น ETA ทั่วโลก (ปัจจุบัน) อีกครั้งจนกระทั่งกระบวนการคัดลอกfile2สิ้นสุดแล้ว rsync แสดงเวลาที่ผ่านไปทั้งหมด (เพิ่มขึ้น) ใหม่ นี่คือสาเหตุที่คุณเห็น "การข้าม" เหล่านั้น: เพราะคุณเห็น ETA ทั่วโลกที่ลดลง (ทั้งหมด) สลับกับเวลาที่ผ่านไปทั่วโลก (รวม) ที่เพิ่มขึ้น
Yuri Sucupira

2
@ijoseph Yup หน้าคนพูดถึงพฤติกรรมของ ETA เท่านั้น นั่นเป็นหนึ่งในเหตุผลที่ทำให้คนจำนวนมากรู้สึกสับสนเกี่ยวกับพฤติกรรมของ UI ในระหว่างกระบวนการสร้างใหม่ ตัวฉันเองต้องใส่ใจกับกระบวนการดังกล่าวเป็นระยะเวลาหนึ่งจนกระทั่งในที่สุดฉันก็สามารถเปิดเผย "มิสเตอร์" ได้ :)
Yuri Sucupira
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.