คำตอบสั้นๆ: กำลังเตรียมการสำรองข้อมูลคือ Time Machine กำลังหาว่าอะไรเปลี่ยนไปตั้งแต่ครั้งก่อน โดยปกติมันอ่านได้จากบันทึกการเปลี่ยนแปลงที่ระบบเก็บไว้ เมื่อบันทึกนั้นใช้ไม่ได้ มันจะไล่ดูทุกไฟล์บนดิสก์แทน และนั่นคือความต่างระหว่างสี่สิบวินาทีกับสี่ชั่วโมง
คำสั่งในส่วนถัดไปบอกว่ากำลังเกิดกรณีใดในสองกรณี คุณจึงเลิกเดาได้
ก่อนจะคัดลอกแม้แต่ไบต์เดียว Time Machine ต้องตัดสินว่าจะคัดลอกอะไร macOS เก็บบันทึกการเปลี่ยนแปลงระบบไฟล์อย่างต่อเนื่องเรียกว่า FSEvents และในกรณีที่ดี Time Machine จะขอทุกอย่างที่เปลี่ยนไปตั้งแต่การสำรองข้อมูลครั้งก่อนจากบันทึกนั้น ซึ่งใช้เวลาไม่กี่วินาทีแม้บนดิสก์ที่เต็ม
ในกรณีที่แย่ บันทึกนั้นตอบไม่ได้ Time Machine จะถอยกลับไปใช้การสแกนเชิงลึก ซึ่งหมายถึงการเปรียบเทียบทุกไฟล์บนต้นทางกับข้อมูลสำรองครั้งก่อนทีละไฟล์ บน Mac ที่มีไฟล์หนึ่งล้านไฟล์ ส่วนใหญ่เล็กมาก นั่นคืองานหลายชั่วโมงก่อนจะคัดลอกอะไร แถบความคืบหน้าไม่บอกคุณเรื่องนี้เลย มันขึ้นว่า "กำลังเตรียมการสำรองข้อมูล" ทั้งสองกรณี
สองคำสั่ง ไม่มีคำสั่งใดเปลี่ยนอะไร
tmutil status
มองหา Percent และ BytesCopied ระหว่างขั้นเตรียมการจริง ทั้งสองค่าจะอยู่ที่ศูนย์ ซึ่งเป็นเรื่องปกติ สิ่งที่คุณต้องการคือบันทึก ซึ่งบอกชัดว่าใช้เส้นทางไหน:
log show --predicate 'subsystem == "com.apple.TimeMachine"' --last 1h --info | grep -i -E "deep|event|scan|prepar"
บรรทัดที่กล่าวถึง Deep event scan หรือ event database is not usable คือคำตอบ มันกำลังสแกนทุกอย่าง บรรทัดเกี่ยวกับการอ่านเหตุการณ์และพาธจำนวนน้อยหมายความว่าบันทึกการเปลี่ยนแปลงทำงาน และมีอย่างอื่นที่ช้า
หากต้องการดูแบบสดแทน และหยุดด้วย Control-C:
log stream --predicate 'subsystem == "com.apple.TimeMachine"' --info
เมื่อไม่มีข้อมูลสำรองก่อนหน้าให้เปรียบเทียบ ดิสก์ทั้งลูกจะถูกอ่าน ไม่กี่ชั่วโมงถือว่าปกติสำหรับไดรฟ์ที่เต็มผ่าน USB และนานกว่ามากผ่าน wifi การอัปเดต macOS ยังทำให้บันทึกการเปลี่ยนแปลงใช้ไม่ได้ การสำรองข้อมูลครั้งแรกหลังอัปเดตจึงเป็นการสแกนเชิงลึกเสมอ เสียบไว้ ปล่อยทิ้งไว้ข้ามคืน แล้วตรวจสอบตอนเช้าก่อนทำอย่างอื่น
นี่คือกรณีที่พบบ่อยบน Mac ที่ใช้งานมาระยะหนึ่ง การปิดเครื่องไม่เรียบร้อย ดิสก์เต็ม หรือวอลุ่มที่ซ่อมแล้ว ล้วนทำให้ FSEvents ใช้ไม่ได้ และหลังจากนั้นการสำรองข้อมูลทุกครั้งเป็นการสแกนเชิงลึกจนกว่าจะมีบางอย่างสร้างใหม่ การสำรองข้อมูลยังทำงานได้ แค่ใช้เวลาหลายชั่วโมงทุกครั้ง
การรีสตาร์ทสร้างบันทึกใหม่สำหรับวอลุ่มบูตในหลายกรณี และเป็นสิ่งที่ลองได้ง่ายที่สุด
การสำรองข้อมูลที่ถูกขัดจังหวะจะทิ้งโฟลเดอร์ที่ลงท้ายด้วย .inProgress ไว้บนปลายทาง Time Machine จะพยายามกระทบยอดก่อนเริ่มสิ่งใหม่ และบนปลายทางเครือข่าย การกระทบยอดนั้นอาจใช้เวลานานกว่าการสำรองข้อมูลเสียอีก ดูบนไดรฟ์สำรองข้อมูล ใน Backups.backupdb บนดิสก์ HFS+ หรือในโฟลเดอร์ของวอลุ่มเองบนดิสก์ APFS
การลบโฟลเดอร์ .inProgress ทิ้งข้อมูลสำรองที่ยังไม่เสร็จและไม่มีอะไรอื่น ข้อมูลสำรองที่เสร็จแล้วแต่ละชุดเป็นโฟลเดอร์แยกและไม่ถูกแตะต้อง ย้ายไปที่ถังขยะจาก Finder ล้างถังขยะ แล้วเริ่มการสำรองข้อมูลด้วยตัวเอง
การสแกนเชิงลึกขึ้นอยู่กับจำนวนไฟล์ ไม่ใช่ขนาด ไฟล์วิดีโอ 40 GB หนึ่งไฟล์คือการเปรียบเทียบครั้งเดียว ไดเรกทอรี node_modules ขนาด 40 GB อาจเป็นสองล้านครั้ง DerivedData ของ Xcode แคชของ npm และ yarn อิมเมจ Docker cellar ของ Homebrew และคลัง Steam คือผู้ต้องสงสัยประจำ และทุกอย่างสร้างใหม่ได้
ยกเว้นในการตั้งค่าระบบ, ทั่วไป, Time Machine, ตัวเลือก การทำแบบนั้นทำให้ทั้งการสแกนและการคัดลอกสั้นลง และคุณไม่เสียอะไรที่อยากได้คืนเลย
Time Machine เขียนดิสก์อิมเมจไปยัง NAS หรือ Mac ที่แชร์ และการเปรียบเทียบไฟล์ทุกครั้งต้องวิ่งผ่านเครือข่าย ถ้าใช้ Wi-Fi อยู่อีกฟากของบ้าน การสแกนแบบละเอียดอาจใช้เวลาทั้งวัน ลองย้าย Mac ไปไว้ข้างเราเตอร์ หรือใช้สายอีเทอร์เน็ต แล้วดูว่าการสำรองข้อมูลเดียวกันเสร็จภายในหนึ่งชั่วโมงหรือไม่
หากมันไม่เคยเสร็จเลย ปัญหาน่าจะอยู่ที่ตัวแชร์มากกว่า และการยืนยันคือวิธีหาว่าสิ่งที่มีอยู่แล้วอ่านได้หรือไม่
.inProgress ตั้งแต่แรก Time Machine หยุดได้อย่างปลอดภัยจากรายการในแถบเมนูหรือด้วย tmutil stopbackupกำลังเตรียมการสำรองข้อมูลเป็นสถานะ และเป็นสถานะเดียวกันไม่ว่างานจะเสร็จในหนึ่งนาทีหรือไม่มีวันเสร็จ ตัวเลขที่คุณต้องการจริงๆ คือเวลาที่ข้อมูลสำรองล่าสุดที่สำเร็จเสร็จสิ้น และ Time Machine ซ่อนไว้หลังเมนูที่คุณต้องเปิด
Copy Shelter แสดงอายุของข้อมูลสำรองล่าสุดที่เสร็จสมบูรณ์บนหน้าจอหลัก และจะแจ้งเมื่อผ่านไปเจ็ดวันโดยไม่มีชุดที่สำเร็จ มันยังบอกชื่อขั้นตอนที่อยู่และไฟล์ที่กำลังทำงาน งานที่นานจึงดูเหมือนงานที่นาน และงานที่ค้างก็ดูเหมือนค้าง
และเมื่อการสำรองข้อมูลเสร็จ การเสร็จเป็นคำกล่าวอ้างเกี่ยวกับสำเนาที่ไม่มีใครตรวจ Copy Shelter อ่านมันกลับมาเทียบกับแฮชที่เก็บไว้ตามกำหนดเวลา ข้อมูลสำรองที่อ่านไม่ได้อย่างเงียบๆ จึงเป็นสิ่งที่คุณรู้ในวันอังคารธรรมดา
ไม่กี่วินาทีถึงสองสามนาทีเมื่อบันทึกการเปลี่ยนแปลงทำงาน ไม่ว่าดิสก์จะใหญ่แค่ไหน หลายชั่วโมงเมื่อถอยกลับไปใช้การสแกนเชิงลึก คำสั่งบันทึกข้างต้นบอกได้ว่าเป็นแบบไหน และเป็นวิธีเดียวที่เชื่อถือได้ในการรู้
ได้ ยังไม่มีอะไรถูกเขียนในขั้นตอนนั้น หยุดจากรายการ Time Machine ในแถบเมนู หรือรัน tmutil stopbackup การบังคับออกหรือดึงไดรฟ์ออกระหว่างขั้นตอนคัดลอกคือสิ่งที่เสี่ยง และเป็นสิ่งที่ทิ้งโฟลเดอร์ .inProgress ไว้
เฉพาะเมื่อคุณยกเว้นสิ่งที่หาทดแทนไม่ได้ แคช ไดเรกทอรีบิลด์ โฟลเดอร์ของตัวจัดการแพ็กเกจ และคลังเกมที่ดาวน์โหลด ล้วนสร้างใหม่จากอินเทอร์เน็ตได้ ควรสำรองอะไรบน Mac มีรายการให้ไล่ดู
แสดงว่ามันกำลังสแกนต้นทาง และยังไม่ได้เขียน กิจกรรมของไดรฟ์จะเริ่มในขั้นตอนคัดลอก หากบันทึกหนึ่งชั่วโมงไม่แสดงอะไรเลยจากระบบย่อย TimeMachine ตัวโปรเซสเองอาจค้าง และการรีสตาร์ทคือขั้นตอนถัดไป
มันมีงานเดียวกันที่ต้องทำและมีสองวิธีเดียวกัน การรันครั้งแรกจึงอ่านทุกอย่าง สิ่งที่ต่างคือมันบอกว่าอยู่ในขั้นตอนใดและกำลังทำอะไร และคะแนนบนหน้าจอหลักนับข้อมูลสำรองล่าสุดที่เสร็จแล้ว ไม่เคยนับชุดที่เพิ่งเริ่ม
ที่เกี่ยวข้อง: Time Machine แจ้งว่าพื้นที่ไม่พอ, เมื่อการสำรองข้อมูลหยุดทำงานโดยไม่บอกอะไร และเปรียบเทียบ Copy Shelter และ Time Machine