11 votos

¿Pueden los registros del sistema decirme cuándo cerré mi Macbook?

Estoy tratando de averiguar lo tarde que he estado trabajando en los últimos meses.

Normalmente, mi antiguo jefe de línea no me habría dado tiempo en sustitución. Sin embargo, la despidieron la semana pasada y ahora tengo la oportunidad de que la empresa me devuelva algo de tiempo.

La mejor medida para saber cuándo dejo de trabajar es la última vez que cierro el macbook cada día. ¿Podría averiguar esto a partir de los registros del sistema?

0 votos

En lugar de cerrar el Macbook y ponerlo en reposo, apágalo. Hay entradas de registro para el apagado y el inicio del sistema.

2 votos

Creo que aquí Ward quiere saber una acción pasada, y no una forma de hacerla en el futuro...

0 votos

Los cierres registran un mensaje distinto en system.log: May 17 15:28:17 [redacted] com.apple.xpc.launchd[1] (com.apple.xpc.launchd.domain.system): System shutdown initiated by: shutdown.7478<-sessionlogoutd.7336<-launchd.1 . No encuentro un mensaje tan claro para el sueño.

2voto

Ward Puntos 31

Así que la respuesta más cercana que pude obtener fue este comando de consola:

log show -v | grep "Entering Sleep state due to 'Clamshell Sleep'"

No es perfecto, ya que sólo se remonta a 6 semanas más o menos, y muestra más mensajes de sueño de los que necesito. Pero a partir del conjunto de resultados, es fácil elegir el último "sueño del sistema" del día.

1voto

Igor Zelaya Puntos 2266

El último mensaje antes de abrir mi MacBook esta mañana fue

5/19/19 22:43:36.000 kernel[0]: AirPort_Brcm43xx::powerChange: System Sleep 

No estoy seguro de haberlo cerrado a esa hora exactamente anoche, pero estuvo cerca.

Acabo de hacer un experimento y han pasado unos 15 segundos desde mi última actividad antes de cerrar la tapa hasta que aparece ese mensaje.

1 votos

Sólo una información... Si el Wi-Fi de uno está apagado, ese mensaje no aparecerá en los registros.

1voto

Joel Puntos 112

Después de una rápida investigación, este puede valer la pena intentarlo . Abra una ventana de terminal para obtener el bash y entonces:

$ sudo log show --predicate 'eventMessage contains "Clamshell change detected"' --last 24h

He incluido el --last 24h para no verse inundado de datos. Utiliza esto primero para confirmar que te dará los datos que necesitas. Si quiere experimentar con diferentes predicate opciones, etc., puede leerlo todo en man log .

No sé hasta dónde llegan los registros del sistema en tu sistema, así que esto evitará un enorme volcado en tu terminal. Pero, por supuesto, si no te importa un enorme volcado en tu terminal, simplemente elimina esa opción de la línea de comandos. Basado en una respuesta anterior aquí en "AskDifferent" el período de tiempo que cubrirán sus registros es aparentemente una función de algunos ajustes en el /etc/asl.conf archivo. Esa respuesta tiene un método para comprobar y ajustar esos parámetros. Sin embargo, al mirar mi propio asl.conf difiere un poco de la configuración de la respuesta referenciada (por ejemplo, no hay ttl límite en mi asl.conf ). Por lo tanto, es posible que no sepa hasta dónde puede llegar hasta que lo intente. Si todo el período de interés no está en los registros, no tengo ninguna idea, excepto aumentar los límites de los registros en asl.conf para evitar ese problema en el futuro, o quizás establecer Rotación de troncos .

Un par de puntos más:

  1. Si no utiliza sudo puede recibir el siguiente mensaje de error extraño:

registro: No se ha podido abrir el archivo de registro local: El formato del archivo de registro está corrupto y no se puede leer

Ese mensaje es probablemente falso y engañoso; utilice sudo y debería desaparecer (a menos que sus registros estén realmente corruptos).

  1. Si quiere guardar el log salida a un archivo, eso es bastante fácil:

    $ sudo log show --predicate 'eventMessage contains "Clamshell change detected"' --last 24h >> ~/MyClamshellClosures.txt

  2. Y por último, si quiere ver las entradas del registro para un rango de fechas, por ejemplo YTD:

    $ sudo log show --predicate 'eventMessage contains "Clamshell change detected"' --start "2019-01-01" --end "2019-05-19" >> ~/MyClamshellClosures.txt

ALTERNATIVAMENTE:

Si no desea utilizar la línea de comandos, el Console aplicación en Launchpad , Other también puede utilizarse. Yo prefiero la línea de comandos, pero hay algunos tutoriales decentes y actuales que pueden ayudar:

  1. Fm 'techbland.com', 15 de mayo de 2019

  2. Fm 'howtogeek.com', 19 de marzo de 2019

1 votos

El OP afirmó "Estoy tratando de averiguar lo tarde que he estado trabajando durante los últimos meses", y el sudo log show --predicate 'eventMessage contains "Clamshell change detected"' comando (sin el --last 24h opción ) sólo volvió dos semanas atrás. Así que, aunque es útil para las dos últimas semanas, no parece serlo más allá de ese intervalo. Además, la búsqueda en Consola para "Cambio de clamshell detectado" sólo arrojó que sudo ejecutó ese comando, por lo que parece que el log comando de Terminal será necesario utilizar.

1 votos

BTW Añadiendo el ej. el --last 30d opción a la log comando , en un intento de conseguir más de dos semanas, dio los mismos resultados que sin ella. Así que parece que todo lo que sea más allá de dos semanas no podrá ser validado de esta manera y no es suficiente para cubrir el rango de tiempo mencionado en el OP.

0 votos

@user3439894: ¿Has encontrado algo en la documentación que diga que todos los registros se purgan después de 30 días? ¿Podría ser eso propio de tu máquina?

-2voto

Yoan Puntos 1

Si tiene instaladas las herramientas de línea de comandos, el comando BSD last le dará la fecha y la hora de apagado y reinicio. Utilícelo como last -n donde n es el número de líneas a mostrar . También es útil la página man.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X