คำตอบสั้นๆ: Time Machine ถูกออกแบบมาให้ลบข้อมูลสำรองเก่า ชุดรายชั่วโมงอยู่ได้หนึ่งวัน ชุดรายวันอยู่ได้หนึ่งเดือน และชุดรายสัปดาห์อยู่ได้จนดิสก์เต็ม แล้วชุดที่เก่าที่สุดก็ถูกลบ
ไม่มีการตั้งค่าสำหรับเรื่องนี้ คุณบอก Time Machine ให้เก็บสามปีไม่ได้ และสิ่งเดียวที่คุณปรับได้คือขนาดดิสก์
นี่คือพฤติกรรมที่มีเอกสารอธิบายไว้และไม่ได้เปลี่ยนมาหลายปี:
อายุของข้อมูลสำรองที่เก่าที่สุดจึงถูกตัดสินด้วยสิ่งเดียว: ดิสก์สำรองข้อมูลใหญ่กว่าข้อมูลบน Mac มากแค่ไหน และข้อมูลนั้นเปลี่ยนบ่อยแค่ไหน ไดรฟ์ 1 TB ที่เก็บ Mac ขนาด 900 GB ให้คุณหลายสัปดาห์ ไดรฟ์เดียวกันที่เก็บ 200 GB ให้คุณหลายปี ไม่มีใครบอกคุณว่าคุณมีแบบไหน
ข้อข้างบน บางครั้งคุณจะเห็น "Time Machine ลบข้อมูลสำรองเก่าบางส่วนเพื่อให้มีที่ว่าง" ในศูนย์การแจ้งเตือน และบ่อยพอกันที่คุณไม่เห็นอะไรเลย เพราะการแจ้งเตือนพลาดได้ง่ายและถูกปิดไว้ได้ง่าย
ตรวจสอบว่าอะไรอยู่รอดจริงๆ:
tmutil listbackups
คำสั่งนี้แสดงข้อมูลสำรองทุกชุดบนปลายทางที่เมานต์อยู่ เรียงจากเก่าสุด อ่านวันที่ไล่ลงมาทางซ้ายแล้วจะเห็นรูปแบบของกำหนดการ: ชุดรายวันในตอนท้าย ชุดรายสัปดาห์ก่อนหน้านั้น และวันเริ่มต้นที่บอกว่าคุณย้อนกลับไปได้ไกลแค่ไหน
บางครั้ง Time Machine ทิ้งประวัติที่มีอยู่แล้วเริ่มใหม่ การอัปเกรด macOS วอลุ่มที่ซ่อมแล้ว ตัวระบุดิสก์ที่เปลี่ยน หรือดัชนีข้อมูลสำรองที่เสียหาย ล้วนทำให้เกิดได้ ข้อมูลสำรองเก่าอาจยังอยู่บนดิสก์และกินพื้นที่ แต่เข้าถึงไม่ได้จากอินเทอร์เฟซการกู้คืน
tmutil listbackups กับปลายทางแสดงสิ่งที่ยังเข้าถึงได้ หากรายการที่เก่าที่สุดมีอายุไม่กี่วันบนไดรฟ์ที่คุณใช้มาสองปี นี่คือสิ่งที่เกิดขึ้น
บน Mac ที่ใช้ APFS นั้น Time Machine ยังเก็บสแนปช็อตไว้บนดิสก์ภายในด้วย เพื่อให้คุณกู้คืนบางอย่างได้เมื่อไม่ได้ต่อไดรฟ์สำรองข้อมูล สแนปช็อตเหล่านี้เก็บไว้ประมาณ 24 ชั่วโมงและถูกลบอัตโนมัติเมื่อต้องการพื้นที่
tmutil listlocalsnapshots /
คนเจอสิ่งเหล่านี้ คิดว่าเป็นข้อมูลสำรอง แล้วก็พบว่ามันหายไป มันอยู่บนดิสก์เดียวกับต้นฉบับ ไดรฟ์ที่เสียจึงพาไปทั้งคู่ มีประโยชน์สำหรับความผิดพลาดที่คุณสังเกตเห็นบ่ายนี้ แต่ไม่ใช่ข้อมูลสำรอง
บนปลายทางเครือข่าย ประวัติทั้งหมดของคุณอยู่ใน sparse bundle เดียว คำแนะนำบนอินเทอร์เน็ตเกี่ยวกับปัญหาการสำรองข้อมูลมักจบด้วย "ลบ sparsebundle แล้วเริ่มใหม่" และการทำแบบนั้นลบทุกเวอร์ชันที่คุณมีในครั้งเดียว ข้อผิดพลาดของอิมเมจดิสก์มีวิธีแก้ที่ไม่ต้องทำแบบนั้น และควรลองก่อน
พูดตรงๆ คือน้อยมาก
สิ่งที่คุณทำไม่ได้คือตั้งนโยบายการเก็บรักษา ไม่มีจำนวนวัน ไม่มีจำนวนเวอร์ชันขั้นต่ำ ไม่มี "เก็บข้อมูลสำรองชุดแรกของทุกเดือนไว้ตลอดไป" ตารางที่ด้านบนของหน้านี้คืออินเทอร์เฟซทั้งหมด
มันมีไว้ทำให้ดิสก์ขนาดคงที่ใช้ได้นาน และเป็นคำตอบที่สมเหตุสมผลสำหรับเรื่องนั้น ปัญหาคือนโยบายนี้มองไม่เห็นขณะทำงาน วันที่คุณไปหาเวอร์ชันของไฟล์จากแปดเดือนก่อนคือวันที่คุณรู้ว่าดิสก์ย้อนกลับไปได้ไกลแค่ไหนจริงๆ และตอนนั้นคำตอบก็ตายตัวแล้ว
เวอร์ชันเก่าอยู่จนกว่าคุณจะตัดสินใจเป็นอย่างอื่น ไม่มีตัวนับที่ทิ้งมันเมื่อครบสามสิบวัน และไม่มีตารางที่ลดจำนวนลับหลังคุณ
เมื่อพื้นที่ไม่พอ แอปจะถาม และบอกคุณว่าจะลบอะไรและได้พื้นที่คืนเท่าไรก่อนที่จะเกิดอะไรขึ้น แผนถูกสร้างก่อนและดำเนินการภายหลัง ความผิดพลาดในกฎจึงยังกู้คืนได้เป็นเวลาหนึ่งสัปดาห์
หน้าจอหลักแสดงว่าประวัติย้อนกลับไปได้ไกลแค่ไหน ซึ่งเป็นตัวเลขที่หน้านี้พูดถึงทั้งหมด และการกู้คืนข้อมูลสำรองล่าสุดใช้ได้ฟรีในทุกแผน รวมถึงหลังจากไลเซนส์สิ้นสุด ประวัติจึงเป็นความสะดวกที่คุณจ่ายเงิน ส่วนการเอาไฟล์คืนไม่ใช่
หากคุณยังใช้ Time Machine ต่อ สิ่งที่มีประโยชน์วันนี้คือรัน tmutil listbackups ดูวันที่แรก แล้วตัดสินว่าย้อนกลับไปได้ไกลพอสำหรับคุณหรือไม่ กฎ 3-2-1 ครอบคลุมอีกครึ่งของคำถาม คือจะเกิดอะไรขึ้นเมื่อดิสก์ลูกเดียวที่เก็บทุกอย่างเสีย
ไม่ได้ ไม่มีการตั้งค่า ไม่มีคำสั่ง defaults ที่อยู่รอด และไม่มีวิธีที่รองรับในการปักหมุดข้อมูลสำรอง สิ่งที่ปรับได้มีเพียงขนาดดิสก์ ปริมาณที่คุณสำรอง และการใช้ปลายทางมากกว่าหนึ่งแห่ง
รัน tmutil listbackups ขณะต่อไดรฟ์อยู่ บรรทัดแรกคือข้อมูลสำรองเก่าสุดที่คุณยังกู้คืนได้ วันที่นั้น ไม่ใช่อายุของไดรฟ์ คือระยะที่ประวัติของคุณย้อนกลับไปได้
ใช่ นั่นเป็นพฤติกรรมที่ออกแบบไว้: ข้อมูลสำรองที่เก่าที่สุดจะถูกลบเพื่อเปิดพื้นที่ให้ข้อมูลสำรองล่าสุด และควรตรวจสอบด้วยว่าดิสก์เต็มจริงหรือไม่ เพราะข้อความพื้นที่ไม่พอมักเกี่ยวกับวิธีที่มันประเมินขนาดงาน ไม่ใช่พื้นที่ว่าง
ไม่ มันอยู่บนดิสก์เดียวกับไฟล์ต้นทาง เก็บไว้ประมาณหนึ่งวัน และถูกลบเมื่อระบบต้องการพื้นที่ ครอบคลุมการลบโดยไม่ตั้งใจบ่ายนี้ และไม่มีอะไรมากกว่านั้น
การอัปเดตอาจทำให้ดัชนีข้อมูลสำรองใช้ไม่ได้และเริ่มชุดใหม่ ข้อมูลเก่ามักยังอยู่บนดิสก์แต่เข้าถึงไม่ได้จากอินเทอร์เฟซการกู้คืน tmutil listbackups บอกคุณว่าอะไรยังเข้าถึงได้ และหากคำตอบมีเพียงไม่กี่วันล่าสุด แสดงว่าชุดข้อมูลถูกเริ่มใหม่
ที่เกี่ยวข้อง: Time Machine แจ้งว่าพื้นที่ไม่พอ, กฎ 3-2-1 และเปรียบเทียบ Copy Shelter และ Time Machine