O que a Time Machine está fazendo?

15

Às vezes, o OS X me diz que é "Preparando o backup ..." por um período enorme de tempo. O tempo que leva parece não ter correlação com a quantidade de dados para backup. O mesmo para o estágio "Finishing backup ...".

A pergunta: o que o OS X está fazendo quando está "Preparando o backup ..." e "Concluindo o backup ..."?

Eu sei que é descobrir o que fazer backup e, em seguida, registrar as alterações, mas certamente o tempo que isso leva deve ser proporcional à quantidade de dados que mudou. Há muito espaço em disco (por isso, suponho que não esteja excluindo backups antigos). Eu estou usando um TimeCapsule se isso faz alguma diferença. Nada está dando errado com isso, estou apenas curioso.

    
por Stephen Darlington 18.05.2009 / 15:48

4 respostas

19

Aqui está uma resposta de outro fórum (pôster original desconhecido para mim):

The "preparing" stage in Time Machine is usually fast, because Time Machine uses a log of file system activities to know where to find changes that need to be backed up.

But there are things you can do to make that log untrustworthy. When Time Machine discovers the log MIGHT not be valid, it does a full scan of your file system to determine what really needs to be backed up. This can take a while. On my Powerbook (and with a firewire external Time Machine drive) it can result in a "preparing" stage that lasts 20 minutes. If you let Time Machine continue, it will eventually figure out what really needs to be added to the backup disk and will continue. This, of course, is better than just gambling the log is correct or just backing up EVERYTHING again even though only a few files might actually have changed (which would take much longer and consume more Time Machine disk space).

In these early days of Leopard installs, one of the most common things you can do that will make the log untrustworthy is booting from the Leopard install DVD. Each time you do that, the next time Time Machine runs it will discover that your hard drive MIGHT have been modified without the changes being reflected in the log. So it does the full scan -- a long "preparing" stage -- to insure it gets things right.

    
por 18.05.2009 / 15:54
10

Para elogiar a resposta do Comandante Keen, recomendo que você leia uma análise detalhada em Time Machine da Earthling Soft. Além disso, mais informações são registradas em system.log pelo backupd (o que indica por que o status de preparação é tão longo e semelhante)

    
por 18.05.2009 / 19:32
10

Para visualizar facilmente o backupd log , consulte a Hora Widget Machine Buddy . Observe também que há outro log no próprio disco de backup, no arquivo oculto .Backup.log , que pode ser encontrado na pasta de cada backup. Isso fornece algumas outras informações além dos backupd logs.

Observe que, com frequência, os registros mostram figuras que parecem não corresponder:

No pre-backup thinning needed: 821.4 MB requested (including padding) [..]
Copied 1630 files (3.8 MB) from volume Macintosh HD.

Acima, menos arquivos são realmente copiados do que previsto primeiro. Como a Time Machine conta com FSEvents que somente os relatórios mudaram diretórios, suponho que no exemplo acima esses diretórios continham um total de 821,4 MB em arquivos. Na verdade, ao copiar os arquivos, o Time Machine compara os diretórios alterados no disco rígido com o backup e descobre que apenas os arquivos de 3,8 MB foram realmente alterados.

Para ver o que foi gravado no backup , consulte TimeTracker (GUI) ou timedog (linha de comando). Observe que, mesmo quando executado como um usuário administrador, às vezes, esses programas precisam ser executados como root para ver todos os arquivos. Ao não fazer isso, essas ferramentas podem, por exemplo, não levar em consideração os backups de logs e dados do MySQL, de propriedade de _mysql no grupo wheel :

cd "/Volumes/Backup of XX/Backups.backupdb/XX/Latest"
sudo ls -l "Macintosh HD/usr/local/mysql-5.0.51a-osx10.5-x86"
[..]
drwxr-x---@  6 _mysql  wheel    374 Jul  2 20:05 data

Nesses casos, ambas as ferramentas reportarão (silenciosamente) um tamanho de backup total menor e menos arquivos que os logs backupd no Console. Então, se os números não coincidem com os logs, então para o TimeTracker:

sudo ~/Downloads/TimeTracker.app/Contents/MacOS/TimeTracker

Da mesma forma, para timedog:

cd "/Volumes/Backup of XX/Backups.backupdb/XX" 
sudo ~/Downloads/timedog

Para encontrar facilmente arquivos grandes em seu disco rígido , consulte Inventário de disco X . Este programa não tem nada a ver com o Time Machine, mas pode ajudar a investigar problemas, como quando você se pergunta por que seu backup é muito menor que o espaço usado em seu disco rígido. Note que este programa provavelmente reportará menos espaço total em disco no título da janela do que na sua tela, onde você pode selecionar qual disco investigar (mesmo quando estiver rodando como root e escolhendo o menu View, Show Physical File Size). Mas se o tamanho total relatado for realmente muito menor do que os totais reais usados em seu Mac, pode ser útil executar como root:

sudo "$HOME/Downloads/Disk Inventory X.app/Contents/MacOS/Disk Inventory X"

Para remover arquivos do backup (como se descobrisse que o Time Machine estava realmente fazendo o backup de alguns arquivos enormes, como um arquivo de log MySQL), Apple escreve :

Want to delete all instances of a file or folder previously backed up? Easy enough. Launch Time Machine, select the item to be deleted, then choose "Delete from all backups" from the action menu in the Finder toolbar.

Agora, se esses arquivos que você deseja excluir estão visíveis apenas para o root, então você deve chamar "Enter Time Machine" como root também. E isso requer que o Finder seja iniciado como root primeiro:

sudo /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder

Isto parece um Finder normal, mas você notará root ao lado do ícone da pasta pessoal na barra lateral do Finder. Agora use Shift-Cmd-G (menu Ir, Ir para pasta) para obter, por exemplo, /usr/local e encontrar a pasta da qual você deseja excluir os arquivos do disco de backup. Em seguida, insira o Time Machine (e mais uma vez, confirme se root é mostrado ao lado do ícone da pasta base) e siga as instruções da Apple. Quando terminar de deletar os arquivos do backup, pressione Ctrl-C no Terminal para parar o root-Finder. (Eu também precisava fazer logoff do meu Mac, pois o disco remoto não seria desmontado corretamente.)

Se você estiver usando um pacote esparso (como ao usar um backup na rede) , qualquer espaço liberado não será recuperado automaticamente (ou: não até que o espaço seja necessário). Para aplicar isso, consulte Como recuperar todo / mais espaço livre de um sparsebundle no OS X . Isso não se aplica apenas aos arquivos removidos manualmente, mas também aos arquivos removidos pelo Time Machine para backups diários ou por hora expirados, durante o afinamento pós-backup .

O Time Machine compactará o próprio pacote esparso quando o espaço em disco acabar. Mas parece que ele pode primeiro excluir alguns backups antigos durante o pré-backup thinning , então talvez seja sábio compactar manualmente se você já apagou alguns arquivos grandes, ou se backups expirados podem ter incluído arquivos enormes:

Starting pre-backup thinning: 53.57 GB requested (including padding), 
    9.90 GB available 
No expired backups exist - deleting oldest backups to make room 
Deleted backup /Volumes/Backup of XX/Backups.backupdb/XX/2007-12-20-172543:
    9.90 GB now available 
Deleted backup /Volumes/Backup of XX/Backups.backupdb/XX/2007-12-31-005523:
    9.90 GB now available 
Deleted 2 backups: oldest backup is now 8 Jan 2008 
Stopping backup. 
Backup canceled. 
Ejected Time Machine disk image. 
Compacting backup disk image to recover free space 
Completed backup disk image compaction 
Starting standard backup
[..]
Starting pre-backup thinning: 53.57 GB requested (including padding), 
    12.75 GB available

Muito obrigado a Adam Cohen-Rose por testar o acima; veja seu blog para mais detalhes!

    
por 11.07.2009 / 15:21
0

Quando preso em "Preparando" (ThinningPreBackup)

root# tmutil status
Backup session status:
{
    BackupPhase = ThinningPreBackup;
    ClientID = "com.apple.backupd";
    DateOfStateChange = "2018-10-20 12:02:54 +0000";
    DestinationID = "XXXXXX0A-1XB7-4X3B-A791-6XXXXX4325D89B";
    DestinationMountPoint = "/Volumes/TimeMachineXXX";
    Percent = "-1";
    Running = 1;
    Stopping = 0;
}

Use lsof para ver quais arquivos os backups estão acessando - o último arquivo deve estar mudando:

root# ps -ef | grep backupd
    0    91     1   0  9:39pm ??         0:00.15 /System/Library/CoreServices/backupd.bundle/Contents/Resources/backupd-helper -launchd
    0   552     1   0  9:59pm ??         0:49.54 /System/Library/CoreServices/backupd.bundle/Contents/Resources/backupd
    0  1244  1156   0 10:30pm ttys003    0:00.01 grep backupd
root# lsof -p 552
COMMAND PID USER   FD   TYPE DEVICE   SIZE/OFF     NODE NAME
backupd 552 root  cwd    DIR    1,4       1292        2 /
backupd 552 root  txt    REG    1,4     769168 67640888 /System/Library/CoreServices/backupd.bundle/Contents/Resources/backupd
backupd 552 root  txt    REG    1,4   26771408 67698052 /usr/share/icu/icudt59l.dat
backupd 552 root  txt    REG    1,4     236208 67730774 /private/var/db/timezone/tz/2018e.1.0/icutz/icutz44l.dat
backupd 552 root  txt    REG    1,4     841456 67695858 /usr/lib/dyld
backupd 552 root  txt    REG    1,4 1174183936 69140457 /private/var/db/dyld/dyld_shared_cache_x86_64
backupd 552 root    0r   CHR    3,2        0t0      306 /dev/null
backupd 552 root    1u   CHR    3,2        0t0      306 /dev/null
backupd 552 root    2u   CHR    3,2        0t0      306 /dev/null
backupd 552 root    3w   REG    1,9        686  5515544 /Volumes/TimeMachine2/Backups.backupdb/XXXXXXXXXX/2018-10-20-220254.inProgress/.Backup.561729775.162983.log
backupd 552 root    4r   DIR    1,4        136 68977542 /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/tvOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/CoreLocation.framework/English.lproj

Isso indica que está fazendo algo - e ser paciente ...

    
por 20.10.2018 / 14:39