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.