จะบังคับให้ Time Machine สำรวจเส้นทางลึกได้อย่างไร


11

หลังจากเคอร์เนลไม่กี่ตัวและการถอดปลั๊กไดรฟ์ Firewire Time Machine ของฉันโดยไม่ตั้งใจฉันต้องการตรวจสอบให้แน่ใจว่า Time Machine ของฉันตรงกับ Macintosh HD ของฉันอย่างมากเช่น rsync -a. มีวิธีบังคับให้ Time Machine ทำการสำรวจเส้นทางลึกเพื่อตรวจสอบว่าการสำรองข้อมูลตรงกันหรือไม่

การรู้วิธีการทำเช่นนี้กับ Leopard, Snow Leopard และ Lion จะเป็นประโยชน์


ตัวเลือกที่ปลอดภัยเป็นพิเศษ (แต่ใช้เวลานานและมีค่าใช้จ่ายเล็กน้อย) จะเริ่มดิสก์สำรองใหม่
Thilo

คำตอบ:


7

การตั้งค่าปลายทางของ Time Machine เป็นไม่มีอะไรจากนั้นตั้งค่าใหม่เป็นตำแหน่งเดิมเหมือนก่อนที่จะบังคับให้ฉันข้ามเส้นทางที่ลึก คุณสามารถลองรีบูตระหว่างการเปลี่ยนปลายทางและเพิ่มใหม่อีกครั้งเพื่อเพิ่มโอกาสของการสำรวจเส้นทางลึกที่ถูกเรียก

กรณีที่เลวร้ายที่สุดเราสามารถโคลนในโหมดผู้ใช้คนเดียวเพื่อทำลายไดเรกทอรี fseventsd ในเวลาที่ปลอดภัยเมื่อระบบไม่นับว่าถูกต้องดังนั้นคุณจึงบังคับให้มีฐานข้อมูลใหม่ที่ไม่ตรงกัน คุณสามารถลบสิ่งนี้ได้จากทาง TM แต่ฉันจะลบ boot copy เพราะปลอดภัยกว่าเล็กน้อยและมีแนวโน้มน้อยที่จะทำลายข้อมูลที่คุณต้องการหรือทำให้การสำรองข้อมูลของคุณยุ่งเหยิง

หากคุณอยากจะใช้บรรทัดคำสั่ง / เทอร์มินัลฉันจะเริ่มด้วย tmutil compare ก่อนที่คุณจะมีเรื่องเกี่ยวกับการบังคับให้ผ่านการสำรวจลึก มันเปรียบเทียบสิ่งต่าง ๆ อย่างชัดเจนตามที่มีอยู่ในขณะนี้กับสแนปชอตสุดท้ายและคุณสามารถบังคับให้สิ่งต่าง ๆ โดยระบุสแน็ปช็อตภายนอกเฉพาะถ้าคุณกังวลเกี่ยวกับสแนปชอตในท้องถิ่น


คุณตั้งค่าปลายทางของ Time Machine เป็นไม่มีอะไรได้อย่างไร tmutil setdestination ต้องใช้พา ธ เป็นอาร์กิวเมนต์ใช่ไหม (หรือฉันเดาว่าแค่เลือกดิสก์สำรองแล้วกด "นำดิสก์ออก" เพื่อยกเลิกการเลือก) ฉันติดอยู่ในตำแหน่งที่น่ากลัว Time Machine กำลังสร้างการสำรองข้อมูลใหม่เมื่อใดก็ตามที่ฉันพยายามสำรองข้อมูล (ฉันยกเลิกก่อนที่จะลบการสำรองข้อมูลเก่าของฉัน) ดังนั้นฉันต้องการบังคับให้ทำการสำรวจแบบลึกเพื่อให้เห็นว่าไฟล์ส่วนใหญ่ในความเป็นจริงไม่มีการเปลี่ยนแปลงตั้งแต่ครั้งสุดท้าย การสำรองข้อมูล
Gary

โอเคฉันเพิ่งใช้อินเทอร์เฟซ Time Machine แล้วกด "Remove Disk" จากนั้นเพิ่มใหม่ ฉันยังไม่ได้รับการสำรวจลึก ฉันรู้สิ่งนี้เพราะขั้นตอน "การเตรียมการสำรองข้อมูล" ใช้เวลา 12 นาทีเมื่อวานนี้ฉันทำการสำรวจแบบลึกจริง ๆ เมื่อใช้เวลาดำเนินการ 120 นาทีซึ่งเป็นสิ่งที่ฉันต้องการในตอนนี้ แต่ไม่สามารถหาวิธีทำได้
Gary

1

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

tmutil compare ค่อนข้างแม่นยำเท่านั้น ดูเหมือนว่าจะระบุไฟล์ที่ไม่ได้สำรองไว้อย่างถูกต้องในตอนแรก ฉันเรียกใช้การสำรวจเส้นทางลึกเพื่อแก้ไขปัญหานี้ แต่ Time Machine ยังไม่สำรองข้อมูลไฟล์จำนวนมาก ยัง tmutil compare ตอนนี้อ้างว่าไม่มีปัญหา ฉันจะไว้วางใจ:

rsync --dry-run --itemize-changes --checksum --protect-args -aNHAXx --protect-decmpfs --fileflags --force-change --delete path/to/source_dir/ path/to/destination_dir/

ใช้ /Volumes/<your time machine volume>/Backups.backupdb/<your machine name>/Latest/ เป็นเส้นทางต้นทางหรือปลายทาง --itemize-changes ให้เราเห็นสิ่งที่แตกต่าง '--checksum' บอก rsync เพื่อเปรียบเทียบเนื้อหาไฟล์มากกว่าแค่การปรับเปลี่ยนเวลาและขนาดไฟล์ และ --dry-run บอก rsync ว่าจะไม่สำรองข้อมูลจริง (ดังนั้นเพียงแค่บอกเราว่ามันจะทำอะไร) ส่วนที่เหลือของข้อโต้แย้งคือธงบอก rsync เพื่อให้ปลายทางเหมือนแหล่งที่มาในทุก ๆ ทางรวมถึงสถานะการบีบอัดข้อมูลเมตาและ HFS ฉันเชื่อว่า Time Machine เพิ่มข้อมูลเมตาการบันทึกบัญชีซึ่งจะลบออกเมื่อกู้คืนดังนั้น rsync อาจพบการเปลี่ยนแปลงข้อมูลเมตา


1

คำตอบสั้น ๆ อย่างน้อยสำหรับ macOS 10.13.6:

  1. ลบการสำรองข้อมูล. inProgress ใด ๆ จากไดรฟ์ข้อมูลสำรอง สิ่งนี้อาจต้องใช้รูท /bin/rm -rf ดังนั้นดำเนินการกับ ความระมัดระวัง .

  2. ใช้ tmutil associatedisk คำสั่งเพื่อเชื่อมโยงโวลุ่มสำรองไปยังโวลุ่มหลัก ตัวอย่างเช่น:

sudo tmutil Relatedisk -a / "/ Volumes / Time Machine การสำรองข้อมูล / Backups.backupdb / Macintosh HD / ล่าสุด / Macintosh HD"

จากนั้นฉันลองสำรองข้อมูลอีกครั้งจากรายการเมนู Time Machine และแทนที่จะจบการสแกนใน 10 นาทีมันใช้เวลามากกว่า 30 นาทีและขนาดการสำรองข้อมูลตรงกับสิ่งที่ tmutil compare ได้รับการพูด

พื้นหลัง:

ฉันต้องการบังคับให้ทำการสแกนแบบสำรวจลึก / เต็มหลังจากผู้ติดตั้งปลอม (Reallusion) เปลี่ยนสิทธิ์ของทุกสิ่งใน "/ Users / Shared" (ประมาณ 1 เทราไบต์ของไฟล์ที่ไม่ได้แก้ไข) ฉันเปลี่ยนพวกเขาทั้งหมดกลับและ tmutil ยืนยันว่าไทม์แมชชีนไม่จำเป็นต้องสำรองไฟล์เหล่านั้นอีกต่อไป แต่ดิสก์สำรองข้อมูลหนึ่งในสองแผ่นยืนยันว่าใช้แคชบางตัวที่บอกว่าทำ

สิ่งที่ ไม่ได้ งาน:

  • การลบและเพิ่มวอลุ่มสำรองข้อมูลอีกครั้งจากการตั้งค่าระบบ

  • กำลังล้างข้อมูล /.fseventsd

  • ติดตั้งการอัปเดตระบบ

  • การลบการสำรองข้อมูล. ingress โดยไม่เรียกใช้ tmutil associated disk

  • วิ่ง tmutil associated disk โดยไม่ต้องลบ. inProgress

  • กำลังบูทเข้าสู่โหมดผู้ใช้คนเดียวการเมาท์ / อ่านเขียนและการสัมผัสไฟล์

ในกรณีส่วนใหญ่บันทึก backupd จะอ้างว่าทำการสำรวจแบบลึก แต่จะใช้เวลาเพียงไม่กี่นาทีจากนั้นลองสำรองข้อมูลทุกอย่าง นี่คือคำสั่งในการตรวจสอบ backupd live ใน 10.13 ในภายหลัง:

สตรีมบันทึก - สไตล์ syslog - คาดการณ์ 'senderImagePath มี [cd] "TimeMachine"' --info

ที่จะแสดงเท่านั้น ใหม่ เหตุการณ์ที่เกิดขึ้น หากต้องการบันทึกจากสามวันล่าสุด:

บันทึกการแสดง - สไตล์ syslog - คาดการณ์ 'senderImagePath มี [cd] "TimeMachine" "--info --last 3d

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.