Resposta curta: Preparando backup é o Time Machine descobrindo o que mudou desde a última vez. Normalmente ele consegue ler isso de um registro de mudanças que o sistema mantém. Quando esse registro está inutilizável, ele percorre cada arquivo do disco, e essa é a diferença entre quarenta segundos e quatro horas.
O comando da próxima seção mostra qual das duas coisas está acontecendo, para você parar de adivinhar.
Antes de copiar um único byte, o Time Machine precisa decidir o que copiar. O macOS mantém um registro contínuo das mudanças no sistema de arquivos chamado FSEvents, e no caso bom o Time Machine pede a esse registro tudo o que mudou desde o último backup, o que leva segundos mesmo em um disco cheio.
No caso ruim, esse registro não consegue responder. Então o Time Machine recorre a uma varredura profunda, que significa comparar cada arquivo da origem com o último backup, um por um. Em um Mac com um milhão de arquivos, a maioria minúsculos, são horas de trabalho antes de qualquer coisa ser copiada. A barra de progresso não conta nada disso. Ela diz "Preparando backup" nos dois casos.
Dois comandos. Nenhum muda nada.
tmutil status
Procure Percent e BytesCopied. Durante uma fase real de preparação, os dois ficam em zero, o que é esperado. O que você quer é o registro, que diz com todas as letras qual caminho ele seguiu:
log show --predicate 'subsystem == "com.apple.TimeMachine"' --last 1h --info | grep -i -E "deep|event|scan|prepar"
Uma linha mencionando Deep event scan ou event database is not usable é a resposta. Ele está varrendo tudo. Uma linha sobre leitura de eventos e um número pequeno de caminhos significa que o registro de mudanças funcionou e outra coisa está lenta.
Para acompanhar ao vivo, e parar com Control-C:
log stream --predicate 'subsystem == "com.apple.TimeMachine"' --info
Sem um backup anterior para comparar, o disco inteiro é lido. Algumas horas é normal para um drive cheio via USB, e bem mais via Wi-Fi. Uma atualização do macOS também invalida o registro de mudanças, então o primeiro backup depois dela é, por definição, uma varredura profunda. Conecte, deixe a noite toda e confira de manhã antes de fazer qualquer outra coisa.
Este é o caso comum em um Mac que está em uso há algum tempo. Um desligamento incorreto, um disco cheio ou um volume reparado podem deixar o FSEvents inutilizável, e a partir daí todo backup é uma varredura profunda até algo reconstruí-lo. O backup ainda funciona. Só custa horas a cada vez.
Uma reinicialização reconstrói o registro do volume de inicialização em muitos casos, e é a coisa mais barata a tentar.
Um backup interrompido deixa no destino uma pasta terminada em .inProgress. O Time Machine tenta resolvê-la antes de começar qualquer coisa nova, e em um destino de rede isso pode levar mais tempo do que o próprio backup levaria. Procure no drive de backup, em Backups.backupdb em um disco HFS+ ou na pasta do próprio volume em um disco APFS.
Apagar uma pasta .inProgress joga fora um backup inacabado e nada mais. Cada backup concluído é uma pasta separada e não é tocado. Mova-a para o Lixo pelo Finder, esvazie o Lixo e inicie um backup manualmente.
Uma varredura profunda depende do número de arquivos, não do tamanho. Um arquivo de vídeo de 40 GB é uma comparação. Uma pasta node_modules de 40 GB pode ser dois milhões. O DerivedData do Xcode, os caches do npm e do yarn, imagens do Docker, o cellar do Homebrew e uma biblioteca da Steam são os suspeitos de sempre, e todos podem ser gerados de novo.
Exclua-os em Ajustes do Sistema, Geral, Time Machine, Opções. Isso encurta tanto a varredura quanto a cópia, e não custa nada que você um dia fosse querer de volta.
O Time Machine grava uma imagem de disco em um NAS ou em um Mac compartilhado, e cada uma dessas comparações de arquivos passa pela rede. No Wi-Fi, no outro canto da casa, uma verificação completa pode levar um dia. Leve o Mac para perto do roteador, ou use cabo de rede, e veja se o mesmo backup termina em uma hora.
Se ele nunca termina, o problema provavelmente é o próprio compartilhamento, e a verificação é o jeito de descobrir se o que já está lá pode ser lido.
.inProgress. O Time Machine pode ser parado com segurança pelo item da barra de menus ou com tmutil stopbackup.Preparando backup é um status, e é o mesmo status quer a tarefa termine em um minuto ou nunca. O número que você realmente quer é quando terminou o último backup que funcionou, e o Time Machine o esconde atrás de um menu que você precisa abrir.
O Copy Shelter mostra na tela principal a idade do último backup concluído, e avisa depois de sete dias sem nenhum. Ele também mostra a fase em que está e o arquivo em que está trabalhando, então uma tarefa longa parece longa e uma tarefa travada parece travada.
E quando um backup termina, estar terminado é uma afirmação sobre uma cópia que ninguém conferiu. O Copy Shelter a lê de volta com os hashes que guardou, de forma programada, então um backup que deixou de ser legível sem aviso é algo que você descobre em uma terça-feira qualquer.
De segundos a alguns minutos quando o registro de mudanças está funcionando, qualquer que seja o tamanho do disco. Horas quando ele recorreu a uma varredura profunda. O comando de registro acima mostra qual é o caso, e é a única forma confiável de saber.
Sim. Nada foi gravado ainda nessa fase. Pare pelo item do Time Machine na barra de menus, ou rode tmutil stopbackup. Forçar o encerramento ou desconectar o drive durante a fase de cópia é o arriscado, e é o que deixa uma pasta .inProgress para trás.
Só se você excluir algo insubstituível. Caches, pastas de compilação, pastas de gerenciadores de pacotes e bibliotecas de jogos baixadas podem ser reconstruídos pela internet. Do que fazer backup em um Mac percorre a lista.
Então ele está varrendo a origem, e ainda não está gravando. A atividade no drive começa na fase de cópia. Se uma hora de registro não mostrar nada do subsistema TimeMachine, o próprio processo pode estar travado, e reiniciar é o próximo passo.
Ele tem o mesmo trabalho a fazer e as mesmas duas formas de fazê-lo, então uma primeira execução lê tudo. A diferença é que ele diz em que fase está e no que está trabalhando, e a nota na tela principal conta o último backup que terminou, nunca o que começou.
Relacionado: o Time Machine diz que não há espaço suficiente, quando um backup para de rodar e não avisa e Copy Shelter e Time Machine comparados.