Elenco di tutte le date + volte in cui ho usato il mio MacBook?

3

Ho bisogno di un elenco dei periodi di volte in cui ho usato il mio MacBook negli ultimi 30 giorni.

Sarebbe sufficiente avere un elenco di tutti i datet lid-lid e lid-close (perché chiudo il coperchio ogni volta che non uso MacBook). Un elenco cronologico di tutti i periodi di sonno / sveglia / spegnimento / poweron (e forse l'accesso) potrebbero essere d'aiuto.

Cosa non ha aiutato:

  • Googling
  • Il comando last
  • Filtro /var/log/system.log (che btw contiene solo un giorno)
  • Filtrando l'app della console (ma forse c'è un modo ...)
posta Joshua 30.09.2014 - 21:14
fonte

3 risposte

1

L'ho finalmente racchiuso in un oneliner che estrae il sistema e riattiva gli eventi da diversi file di registro:

(pmset -g log|grep -e " Sleep " -e " Wake "; syslog | grep -e "System Sleep" -e " Wake reason:") | more

Se il tuo sistema utilizza già log invece di syslog usa invece il seguente comando:

(pmset -g log|grep -e " Sleep " -e " Wake "; log show | grep -e "System Sleep" -e " Wake reason:") | more

  • Suggerimento 1: pmset è limitato a 14 giorni
  • Suggerimento 2: il comando syslog cerca automaticamente anche le voci system.log archiviate. Di default ci sono 10 backup giornalieri di system.log. Per salvare 30 giorni di backup di system.log per riferimento futuro, aggiungi la seguente riga a /var/log/newsystemlog.conf : (continuando a valutare se funziona bene)

    /var/log/system.log                     640  30     *    @T00  J
    

@ trane-francks @aglasser Grazie per i tuoi contributi! Hanno aiutato a rintracciare il problema.

    
risposta data 29.10.2014 - 21:57
fonte
6

Se è sufficiente avere un elenco di tutti i cicli di sonno / veglia (apri-chiudi, apri-chiudi), puoi eseguire:

pmset -g log | grep ' Wake '

o

pmset -g log | grep ' sleep '

Gioca con la stringa passata a grep per ottenere le informazioni di cui hai bisogno.

    
risposta data 30.09.2014 - 21:32
fonte
1

L'ho guardato un po 'e sembra fattibile, ma dovrai verificare il tuo comportamento con il sistema nel tempo per determinare esattamente quali messaggi nei log a grep. Ho fatto la seguente serie di passaggi per analizzare l'intera cronologia dei cicli sleep / wake per questo MacBook e risale al 12 agosto.

Precondizioni: scrivere all'utente non root in ~ / Download. Cambia percorsi e genera nomi di file come desiderato.

#!/bin/bash
#
# Read system wake/sleep cycles from kernel logs from oldest to newest.
#
# First, read the archived kernel logs for wakes.
for file in $(ls -r /var/log/kernel.log.*) ; do   bunzip2 -c $file | grep 'Wake reason:' >> ~/Downloads/wakeup.txt; done
#
# Read current kernel.log for wakes.
grep 'Wake reason:' /var/log/kernel.log >> ~/Downloads/wakeup.txt
#
# Read archived kernel logs for sleeps.
for file in $(ls -r /var/log/kernel.log.*) ; do   bunzip2 -c $file | grep ': sleep' >> ~/Downloads/wakeup.txt; done
#
# Read current kernel.log for sleeps.
grep ': sleep' /var/log/kernel.log >> ~/Downloads/wakeup.txt
#
# Sort raw output from greps for chronological picture.
sort -o ~/Downloads/sortedwake.txt ~/Downloads/wakeup.txt

Questo dovrebbe darti un salto decente arrivando a un'immagine più completa. Puoi esaminare i log del kernel per farti sapere quando il sistema è stato riavviato, ecc. Una volta che sai cosa filtrare, sarai in grado di espanderti un po 'su questo. Divertiti con esso.

Oh, un'ultima nota: se stai esaminando un sistema che visita molte reti, vedrai il nome del tuo sistema cambiare nei log in base a ciò che il server DNS associa al tuo indirizzo IP. Sembra un po 'strano, ma è un comportamento abbastanza normale.

    
risposta data 30.09.2014 - 23:30
fonte

Leggi altre domande sui tag