In breve: Preparazione del backup è Time Machine che capisce cosa è cambiato dall'ultima volta. Di solito lo legge da un registro delle modifiche tenuto dal sistema. Quando quel registro è inutilizzabile, percorre invece ogni file del disco, ed è la differenza tra quaranta secondi e quattro ore.
Il comando nella sezione successiva ti dice quale dei due sta succedendo, così smetti di tirare a indovinare.
Prima di copiare un solo byte, Time Machine deve decidere cosa copiare. macOS tiene un registro continuo delle modifiche al file system chiamato FSEvents, e nel caso buono Time Machine chiede a quel registro tutto ciò che è cambiato dall'ultimo backup, il che richiede pochi secondi anche su un disco pieno.
Nel caso cattivo quel registro non sa rispondere. Allora Time Machine ripiega su una scansione completa, cioè confronta ogni file della fonte con l'ultimo backup, uno alla volta. Su un Mac con un milione di file, quasi tutti minuscoli, sono ore di lavoro prima di copiare qualsiasi cosa. La barra di avanzamento non ti dice niente di tutto questo. Dice «Preparazione del backup» in entrambi i casi.
Due comandi. Nessuno dei due cambia niente.
tmutil status
Cerca Percent e BytesCopied. Durante una vera fase di preparazione restano entrambi a zero, ed è normale. Ciò che vuoi è il log, che dice chiaramente quale strada ha preso:
log show --predicate 'subsystem == "com.apple.TimeMachine"' --last 1h --info | grep -i -E "deep|event|scan|prepar"
Una riga che cita Deep event scan o event database is not usable è la risposta. Sta analizzando tutto. Una riga sulla lettura degli eventi e su un piccolo numero di percorsi significa che il registro delle modifiche ha funzionato e che è lento qualcos'altro.
Per seguirlo invece in tempo reale, e fermarlo con Control-C:
log stream --predicate 'subsystem == "com.apple.TimeMachine"' --info
Senza un backup precedente con cui confrontarsi, viene letto tutto il disco. Qualche ora è normale per un'unità piena via USB, e molto di più via Wi-Fi. Anche un aggiornamento di macOS invalida il registro delle modifiche, quindi il primo backup dopo un aggiornamento è per definizione una scansione completa. Collega l'unità, lasciala lavorare tutta la notte e controlla al mattino prima di fare qualsiasi altra cosa.
È il caso comune su un Mac in uso da un po'. Uno spegnimento non pulito, un disco pieno o un volume riparato possono rendere FSEvents inutilizzabile, e da lì in poi ogni backup è una scansione completa finché qualcosa non lo ricostruisce. Il backup funziona ancora. Solo che ogni volta costa ore.
In molti casi un riavvio ricostruisce il registro per il volume di avvio, ed è la cosa più economica da provare.
Un backup interrotto lascia sulla destinazione una cartella che finisce in .inProgress. Time Machine prova a sistemarla prima di iniziare qualsiasi cosa nuova, e su una destinazione di rete quella sistemazione può durare più di quanto sarebbe durato il backup. Guarda sull'unità di backup, in Backups.backupdb su un disco HFS+ o nella cartella del volume su uno APFS.
Eliminare una cartella .inProgress butta via un backup non finito e nient'altro. Ogni backup completato è una cartella separata e non viene toccato. Spostala nel Cestino dal Finder, svuota il Cestino e avvia un backup a mano.
Una scansione completa dipende dal numero di file, non dalla loro dimensione. Un file video da 40 GB è un solo confronto. Una cartella node_modules da 40 GB può essere due milioni di confronti. DerivedData di Xcode, le cache di npm e yarn, le immagini Docker, il cellar di Homebrew e una libreria Steam sono i soliti sospetti, e ognuno si può rigenerare.
Escludile in Impostazioni di Sistema, Generali, Time Machine, Opzioni. Così accorci sia la scansione sia la copia, e non ti costa niente che vorresti mai riavere.
Time Machine scrive un'immagine disco su un NAS o su un Mac condiviso, e ognuno di quei confronti tra file passa dalla rete. In Wi-Fi, in fondo alla casa, una scansione approfondita può durare un giorno. Avvicina il Mac al router, o usa un cavo ethernet, e guarda se lo stesso backup finisce in un'ora.
Se non finisce mai, il problema è più probabilmente la condivisione stessa, e la verifica è il modo per scoprire se ciò che c'è già è leggibile.
.inProgress. Time Machine si può fermare in sicurezza dalla voce nella barra dei menu o con tmutil stopbackup.Preparazione del backup è uno stato, ed è lo stesso stato sia che il lavoro finisca tra un minuto sia che non finisca mai. Il numero che ti serve davvero è quando è finito l'ultimo backup riuscito, e Time Machine lo mette dietro un menu che devi aprire.
Copy Shelter mostra nella schermata principale l'età dell'ultimo backup completato, e dice qualcosa dopo sette giorni senza. Indica anche la fase in cui si trova e il file su cui sta lavorando, così un lavoro lungo sembra un lavoro lungo e un lavoro bloccato sembra bloccato.
E quando un backup finisce davvero, essere finito è un'affermazione sulla copia che nessuno ha controllato. Copy Shelter la rilegge confrontandola con gli hash che ha salvato, secondo una pianificazione, così un backup che ha smesso in silenzio di essere leggibile è qualcosa che scopri in un martedì qualsiasi.
Da pochi secondi a un paio di minuti quando il registro delle modifiche funziona, qualunque sia la dimensione del disco. Ore quando è ripiegato su una scansione completa. Il comando del log qui sopra ti dice quale dei due, ed è l'unico modo affidabile per saperlo.
Sì. In quella fase non è ancora stato scritto niente. Fermalo dalla voce di Time Machine nella barra dei menu, o esegui tmutil stopbackup. Forzare l'uscita o staccare l'unità durante la fase di copia è la cosa rischiosa, ed è ciò che lascia dietro una cartella .inProgress.
Solo se escludi qualcosa di insostituibile. Cache, cartelle di build, cartelle dei gestori di pacchetti e librerie di giochi scaricate si possono tutte ricostruire da internet. Di cosa fare il backup su un Mac passa in rassegna l'elenco.
Allora sta analizzando la fonte, e non sta ancora scrivendo. L'attività dell'unità inizia nella fase di copia. Se in un'ora di log non compare niente dal sottosistema TimeMachine, il processo stesso potrebbe essere bloccato, e il passo successivo è un riavvio.
Ha lo stesso lavoro da fare e gli stessi due modi per farlo, quindi la prima esecuzione legge tutto. La differenza è che dice in quale fase si trova e su cosa sta lavorando, e il punteggio nella schermata principale conta l'ultimo backup completato, mai quello appena iniziato.
Vedi anche: Time Machine dice che non c'è abbastanza spazio, quando un backup smette di funzionare senza dire niente e Copy Shelter e Time Machine a confronto.