Kort antwoord: bij Reservekopie voorbereiden zoekt Time Machine uit wat er sinds de vorige keer is veranderd. Meestal kan het dat lezen uit een wijzigingslogboek dat het systeem bijhoudt. Is dat logboek onbruikbaar, dan loopt het in plaats daarvan elk bestand op de schijf langs, en dat is het verschil tussen veertig seconden en vier uur.
Het commando in het volgende deel vertelt je welke van de twee er gebeurt, zodat je niet meer hoeft te gokken.
Voordat het één byte kopieert, moet Time Machine bepalen wat het moet kopiëren. macOS houdt een doorlopend logboek van wijzigingen in het bestandssysteem bij, FSEvents, en in het goede geval vraagt Time Machine dat logboek om alles wat sinds de laatste backup is veranderd, wat zelfs op een volle schijf seconden duurt.
In het slechte geval kan dat logboek geen antwoord geven. Dan valt Time Machine terug op een diepe scan, wat betekent dat elk bestand op de bron één voor één met de laatste backup wordt vergeleken. Op een Mac met een miljoen bestanden, de meeste piepklein, is dat uren werk voordat er iets wordt gekopieerd. De voortgangsbalk vertelt je hier niets van. Hij zegt „Reservekopie voorbereiden” voor allebei.
Twee commando's. Geen van beide verandert iets.
tmutil status
Zoek naar Percent en BytesCopied. Tijdens een echte voorbereidingsfase blijven ze allebei op nul, en dat is normaal. Wat je wilt, is het logboek, dat hardop zegt welke route het nam:
log show --predicate 'subsystem == "com.apple.TimeMachine"' --last 1h --info | grep -i -E "deep|event|scan|prepar"
Een regel met Deep event scan of event database is not usable is het antwoord. Het scant alles. Een regel over het lezen van events en een klein aantal paden betekent dat het wijzigingslogboek werkte en iets anders traag is.
Om het live te volgen, en te stoppen met Control-C:
log stream --predicate 'subsystem == "com.apple.TimeMachine"' --info
Zonder eerdere backup om mee te vergelijken wordt de hele schijf gelezen. Een paar uur is normaal voor een volle schijf via USB, en veel langer via wifi. Een macOS-update maakt het wijzigingslogboek ook ongeldig, dus de eerste backup daarna is per definitie een diepe scan. Sluit aan, laat het een nacht lopen en kijk 's ochtends voordat je iets anders doet.
Dit is de veelvoorkomende op een Mac die al een tijdje draait. Een onjuiste uitschakeling, een volle schijf of een gerepareerd volume kan FSEvents allemaal onbruikbaar maken, en daarna is elke backup een diepe scan tot iets het opnieuw opbouwt. De backup werkt nog. Het kost alleen elke keer uren.
Een herstart bouwt het logboek voor het opstartvolume in veel gevallen opnieuw op, en is het goedkoopste om te proberen.
Een onderbroken backup laat een map achter die eindigt op .inProgress op de bestemming. Time Machine probeert die bij te werken voordat het iets nieuws begint, en op een netwerkbestemming kan dat langer duren dan de backup zelf zou hebben gedaan. Kijk op de backupschijf, in Backups.backupdb op een HFS+-schijf of in de eigen map van het volume op een APFS-schijf.
Een .inProgress-map verwijderen gooit een onvoltooide backup weg en verder niets. Elke voltooide backup is een aparte map en wordt niet aangeraakt. Verplaats hem in de Finder naar de prullenmand, leeg de prullenmand en start met de hand een backup.
Een diepe scan hangt af van het aantal bestanden, niet van hun grootte. Eén videobestand van 40 GB is één vergelijking. Een node_modules-map van 40 GB kunnen er twee miljoen zijn. DerivedData van Xcode, caches van npm en yarn, Docker-images, de cellar van Homebrew en een Steam-bibliotheek zijn de gebruikelijke verdachten, en ze zijn allemaal opnieuw te maken.
Sluit ze uit in Systeeminstellingen, Algemeen, Time Machine, Opties. Dat verkort zowel de scan als het kopiëren, en het kost je niets wat je ooit terug zou willen.
Time Machine schrijft een schijfkopie naar een NAS of een gedeelde Mac, en elke bestandsvergelijking gaat over het netwerk. Via wifi, aan het andere eind van het huis, kan een grondige scan een dag duren. Zet de Mac naast de router, of gebruik ethernet, en kijk of dezelfde backup binnen een uur klaar is.
Wordt het helemaal nooit klaar, dan ligt het probleem eerder bij de share zelf, en verificatie is de manier om te ontdekken of wat er al staat leesbaar is.
.inProgress-map. Time Machine kan veilig worden gestopt via het onderdeel in de menubalk of met tmutil stopbackup.Reservekopie voorbereiden is een status, en het is dezelfde status of de taak nu over een minuut klaar is of nooit. Het getal dat je echt wilt, is wanneer de laatste werkende backup klaar was, en Time Machine verstopt dat achter een menu dat je moet openen.
Copy Shelter toont op het hoofdscherm de leeftijd van de laatste voltooide backup, en zegt iets na zeven dagen zonder. Het noemt ook de fase waarin het is en het bestand waarmee het bezig is, zodat een lange taak eruitziet als een lange taak en een vastgelopen taak eruitziet als vastgelopen.
En als een backup wel klaar is, is klaar zijn een bewering over een kopie die niemand heeft gecontroleerd. Copy Shelter leest hem volgens schema terug tegen de hashes die het opsloeg, zodat je een backup die stilletjes onleesbaar is geworden op een gewone dinsdag ontdekt.
Seconden tot een paar minuten als het wijzigingslogboek werkt, hoe groot de schijf ook is. Uren als het is teruggevallen op een diepe scan. Het logboekcommando hierboven vertelt je welke van de twee, en dat is de enige betrouwbare manier om het te weten.
Ja. In die fase is nog niets geschreven. Stop het via het Time Machine-onderdeel in de menubalk, of voer tmutil stopbackup uit. Geforceerd stoppen of de schijf loskoppelen tijdens de kopieerfase is riskant, en dat laat een .inProgress-map achter.
Alleen als je iets onvervangbaars uitsluit. Caches, buildmappen, mappen van pakketbeheerders en gedownloade gamebibliotheken kunnen allemaal opnieuw van internet komen. Waarvan je een backup maakt op een Mac loopt de lijst door.
Dan scant het de bron en schrijft het nog niet. Schijfactiviteit begint in de kopieerfase. Toont een uur logboekuitvoer helemaal niets van het TimeMachine-subsysteem, dan zit het proces zelf misschien vast, en is herstarten de volgende stap.
Het heeft dezelfde taak en dezelfde twee manieren om die te doen, dus een eerste run leest alles. Het verschil is dat het zegt in welke fase het is en waar het mee bezig is, en dat de score op het hoofdscherm de laatste backup telt die klaar is, nooit de backup die is begonnen.
Gerelateerd: Time Machine zegt dat er niet genoeg ruimte is, als een backup stopt en niets zegt en Copy Shelter en Time Machine vergeleken.