Como visualizar o log da máquina do tempo no MacOS Sierra?

28

Na versão anterior do OSX, consegui visualizar os resultados de trabalhos de backup antigos do Time Machine assim:

sudo syslog -F '$Time $Message' -k Sender com.apple.backupd

Agora o syslog não faz mais parte do sistema operacional. Ele foi substituído por " log ".

Eu não consegui encontrar informações sobre os trabalhos da máquina do tempo usando " log ." Eu também falhei usando (a nova versão do) console.

Alguma sugestão?

    
por Arnstein 22.09.2016 / 07:43

6 respostas

31

O macOS Sierra usa o registro unificado (memória e armazenamento de dados; não há mais arquivos de texto).

No entanto, com o utilitário log(1) , você pode visualizar, filtrar, manipular registros etc. Veja man log e aqui estão alguns exemplos específicos do TimeMachine:

Transmitir o log, ao vivo (como tail ):

log stream --style syslog --predicate 'senderImagePath contains[cd] "TimeMachine"' --info

Não transmita, mas mostre a saída final do log:

log show --style syslog --predicate 'senderImagePath contains[cd] "TimeMachine"' --info

    
por 22.09.2016 / 15:29
18

Eu tive um problema semelhante. Escrevi este script de shell para mostrar as últimas 12 horas de atividade do Time Machine no log e, em seguida, continuo seguindo o log ao vivo.

Eu chamo de tm-log

#!/bin/sh

filter='processImagePath contains "backupd" and subsystem beginswith "com.apple.TimeMachine"'

# show the last 12 hours
start="$(date -j -v-12H +'%Y-%m-%d %H:%M:%S')"

echo ""
echo "[History (from $start)]"
echo ""

log show --style syslog --info --start "$start" --predicate "$filter"

echo ""
echo "[Following]"
echo ""

log stream --style syslog --info --predicate "$filter"
    
por 28.09.2016 / 11:20
8

Para aqueles que procuram uma exibição ao vivo das mensagens do Time Machine no aplicativo GUI Console, ative "Incluir mensagens de informações" no menu Ação.

As mensagens de status úteis do Time Machine serão exibidas e poderão ser filtradas com uma pesquisa como Category:TMLogInfo .

Parece que log(1) é necessário para visualizar o histórico, pois o console não mostra nada antes de ser aberto.

    
por 25.09.2016 / 19:26
1

Atualmente, minha solução é usar log stream --style syslog --predicate 'subsystem == "com.apple.TimeMachine"' --info . Mas eu não estou muito feliz com isso, então ainda estou procurando por uma maneira melhor.

    
por 26.09.2016 / 12:31
0

Copiar & Cole o seguinte exatamente como mostrado abaixo

log show --predicate 'subsystem == "com.apple.TimeMachine"' --info | grep 'upd: (' | cut -c 1-19,140-999

    
por 04.01.2017 / 21:15
0

No tipo "terminal" (ou copie daqui e cole):

log stream --style syslog  --predicate 'senderImagePath contains[cd] "TimeMachine"' --info

Isso funciona, mas como isso é streaming, ele exibe a atividade como ela acontece. Se não houver atividade na máquina do tempo, ela não exibirá muita coisa (nem nada). Inicialmente é possível despejar coisas com alguns dias de idade que podem estar em cache em algum lugar, mas então ele exibe o log praticamente em tempo real.

Eu usei esse fluxo do log para identificar um arquivo corrompido específico no meu disco que estava impedindo a conclusão de backups. Removido o arquivo (na verdade, uma pasta inteira) e woilla - backup concluído na primeira execução. Não há mais erros.

    
por 13.02.2018 / 12:17