En bref : Préparation de la sauvegarde, c'est Time Machine qui détermine ce qui a changé depuis la dernière fois. Il le lit généralement dans un journal des modifications tenu par le système. Quand ce journal est inutilisable, il parcourt chaque fichier du disque à la place, et c'est la différence entre quarante secondes et quatre heures.
La commande de la section suivante vous dit lequel des deux se produit, pour arrêter de deviner.
Avant de copier le moindre octet, Time Machine doit décider quoi copier. macOS tient un journal permanent des modifications du système de fichiers appelé FSEvents, et dans le bon cas Time Machine lui demande tout ce qui a changé depuis la dernière sauvegarde, ce qui prend quelques secondes même sur un disque plein.
Dans le mauvais cas, ce journal ne peut pas répondre. Time Machine se rabat alors sur une analyse complète, c'est-à-dire qu'il compare chaque fichier de la source à la dernière sauvegarde, un par un. Sur un Mac avec un million de fichiers, la plupart minuscules, ce sont des heures de travail avant que quoi que ce soit ne soit copié. La barre de progression ne vous en dit rien. Elle affiche « Préparation de la sauvegarde » dans les deux cas.
Deux commandes. Aucune ne modifie quoi que ce soit.
tmutil status
Cherchez Percent et BytesCopied. Pendant une vraie phase de préparation, les deux restent à zéro, ce qui est normal. Ce qu'il vous faut, c'est le journal, qui dit clairement quel chemin il a pris :
log show --predicate 'subsystem == "com.apple.TimeMachine"' --last 1h --info | grep -i -E "deep|event|scan|prepar"
Une ligne mentionnant Deep event scan ou event database is not usable donne la réponse. Il analyse tout. Une ligne sur la lecture d'événements et un petit nombre de chemins signifie que le journal des modifications a fonctionné et que c'est autre chose qui est lent.
Pour le suivre en direct, et l'arrêter avec Contrôle-C :
log stream --predicate 'subsystem == "com.apple.TimeMachine"' --info
Sans sauvegarde antérieure à laquelle comparer, tout le disque est lu. Quelques heures sont normales pour un disque plein en USB, et bien plus en Wi-Fi. Une mise à jour de macOS invalide aussi le journal des modifications : la première sauvegarde qui suit est donc forcément une analyse complète. Branchez, laissez tourner la nuit, et vérifiez le matin avant de faire quoi que ce soit d'autre.
C'est le cas courant sur un Mac qui tourne depuis un moment. Un arrêt brutal, un disque plein ou un volume réparé peuvent rendre FSEvents inutilisable, et ensuite chaque sauvegarde est une analyse complète jusqu'à ce que quelque chose le reconstruise. La sauvegarde fonctionne toujours. Elle coûte simplement des heures à chaque fois.
Un redémarrage reconstruit souvent le journal du volume de démarrage, et c'est la chose la moins coûteuse à essayer.
Une sauvegarde interrompue laisse sur la destination un dossier se terminant par .inProgress. Time Machine essaie de le réconcilier avant de commencer quoi que ce soit de nouveau, et sur une destination réseau cette réconciliation peut prendre plus longtemps que la sauvegarde elle-même. Regardez sur le disque de sauvegarde, dans Backups.backupdb sur un disque HFS+ ou dans le dossier propre du volume sur un disque APFS.
Supprimer un dossier .inProgress jette une sauvegarde inachevée et rien d'autre. Chaque sauvegarde terminée est un dossier séparé et n'est pas touchée. Placez-le dans la Corbeille depuis le Finder, videz la Corbeille, et lancez une sauvegarde à la main.
Une analyse complète dépend du nombre de fichiers, pas de leur taille. Un fichier vidéo de 40 Go, c'est une comparaison. Un dossier node_modules de 40 Go peut en représenter deux millions. Le DerivedData de Xcode, les caches npm et yarn, les images Docker, le cellar de Homebrew et une bibliothèque Steam sont les suspects habituels, et tous peuvent être régénérés.
Excluez-les dans Réglages Système, Général, Time Machine, Options. Cela raccourcit à la fois l'analyse et la copie, et ne vous coûte rien que vous voudriez un jour récupérer.
Time Machine écrit une image disque sur un NAS ou un Mac partagé, et chacune de ces comparaisons de fichiers passe par le réseau. En Wi-Fi, au fond de la maison, une analyse approfondie peut prendre une journée. Rapprochez le Mac du routeur, ou utilisez Ethernet, et voyez si la même sauvegarde se termine en une heure.
Si elle ne se termine jamais, le problème vient plus probablement du partage lui-même, et la vérification est le moyen de savoir si ce qui s'y trouve déjà est lisible.
.inProgress. Time Machine peut être arrêté sans risque depuis le menu de la barre des menus ou avec tmutil stopbackup.Préparation de la sauvegarde est un état, et c'est le même état que la tâche se termine dans une minute ou jamais. Le chiffre que vous voulez vraiment, c'est l'heure de fin de la dernière sauvegarde réussie, et Time Machine le range derrière un menu qu'il faut ouvrir.
Copy Shelter affiche sur son écran principal l'âge de la dernière sauvegarde terminée, et se manifeste après sept jours sans sauvegarde. Il indique aussi la phase en cours et le fichier traité pendant qu'il travaille : une longue tâche ressemble à une longue tâche, et une tâche bloquée a l'air bloquée.
Et quand une sauvegarde se termine, « terminée » est une affirmation sur une copie que personne n'a vérifiée. Copy Shelter la relit avec les empreintes qu'il a stockées, selon un calendrier : une sauvegarde devenue illisible sans bruit est quelque chose que vous découvrez un mardi ordinaire.
De quelques secondes à quelques minutes quand le journal des modifications fonctionne, quelle que soit la taille du disque. Des heures quand il s'est rabattu sur une analyse complète. La commande de journal ci-dessus vous dit lequel, et c'est le seul moyen fiable de le savoir.
Oui. Rien n'a encore été écrit pendant cette phase. Arrêtez-la depuis le menu Time Machine de la barre des menus, ou lancez tmutil stopbackup. C'est forcer à quitter ou débrancher le disque pendant la phase de copie qui est risqué, et c'est ce qui laisse un dossier .inProgress derrière.
Seulement si vous excluez quelque chose d'irremplaçable. Les caches, les dossiers de compilation, les dossiers des gestionnaires de paquets et les bibliothèques de jeux téléchargées peuvent tous être reconstruits depuis Internet. Que sauvegarder sur un Mac passe la liste en revue.
Il analyse alors la source et n'écrit pas encore. L'activité du disque commence à la phase de copie. Si une heure de journal ne montre absolument rien du sous-système TimeMachine, le processus lui-même est peut-être bloqué, et un redémarrage est l'étape suivante.
Il a le même travail à faire et les deux mêmes façons de le faire : une première exécution lit donc tout. La différence, c'est qu'il indique dans quelle phase il est et sur quoi il travaille, et que le score de son écran principal compte la dernière sauvegarde terminée, jamais celle qui vient de commencer.
À lire aussi : Time Machine indique qu'il n'y a pas assez d'espace, quand une sauvegarde s'arrête sans rien dire et Copy Shelter et Time Machine comparés.