Miré esto un poco y parece factible, pero a lo largo del tiempo deberás ver tu comportamiento con el sistema para determinar exactamente qué mensajes en los registros de grep. Realicé el siguiente conjunto de pasos para analizar el historial completo de los ciclos de sueño / activación de esta MacBook y se remonta hasta el 12 de agosto.
Condiciones previas: escritura a un usuario no root en ~ / Descargas. Cambie las rutas y los nombres de archivo de salida como desee.
#!/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
Eso debería darle un salto decente para llegar a una imagen más completa. Puede examinar los registros del kernel para informarle cuándo se reinició el sistema, etc. Una vez que sepa en qué filtrar, podrá ampliar esto un poco. Diviértete con él.
Una nota final: si está examinando un sistema que visita muchas redes, verá que el nombre de su sistema cambia en los registros de acuerdo con lo que el servidor DNS asocia con su dirección IP. Parece un poco extraño, pero es un comportamiento bastante normal.