Cómo encontrar el tiempo de actividad desde la última activación del modo de espera


29

Quiero saber el tiempo de actividad desde el último despertar del modo de espera.

El comando uptimesolo muestra la diferencia entre la hora actual menos la última hora de inicio.

Respuestas:


30

En /var/log/pm-suspend.log, busque la última línea que se parece a esta:

Sun Dec 16 09:30:31 CET 2012: Awake.

Esa es tu última hora de despertar. Puede calcular su tiempo de actividad desde entonces como Paul sugirió.

Periódicamente logrotate, "rotará" los registros para evitar que crezcan demasiado, por lo que puede encontrar un pm-suspend.logarchivo vacío . En este caso, solo busque el pm-suspend.log.1archivo (también puede encontrar otros archivos de registro con el nombre like, pm-suspend.log.2.gzetc.; puede examinarlos usando zcato zless).


esto funcionó para mí
Jacek Pietal

55
¿Qué pasa si pm-suspend.logestá vacío? :(
cprn

1
Si también le importa suspender la marca de tiempo, use:cat /var/log/pm-suspend.log /var/log/pm-suspend.log.1 | grep -B1 Awake; echo "--"; zcat /var/log/pm-suspend.log.*.gz | grep -B1 Awake
webbertiger

2
No existe tal archivo en mi computadora (ejecutando Ubuntu 16.04 LTS)
Ramon Suarez

El archivo está presente solo si instaló pm-suspend. Pero, por ejemplo, Kubuntu pasa al estado suspendido también después de cerrar el cuaderno. Entonces el archivo pm-suspend está vacío.
dmatej

15

Para los escritorios / servidores que ejecutan systemd, si bien no existe un comando directo que diga la información directamente (hasta donde yo sé), todos los datos se capturan en el diario.

Puede grep el diario, por ejemplo:

echo ">> [SUSPEND] Times during current boot"
journalctl -b 0 |grep "]: Suspending system..."
echo ">> [WAKE] Times during current boot"
journalctl -b 0 |grep "PM: Finishing wakeup"

O, para una salida elegante, escribí un script python3 (funciona bien en Fedora 23) Salida de muestra:

Initial Boot Timestamp:  2016-01-15 09:31:32 

     Wake Timestamp     |    Suspend Timestamp   |       Awake Time       |
  --------------------  |  --------------------  |  --------------------  |
   2016-01-15 09:31:32  |   2016-01-15 09:36:03  |          0h  4m        |
   2016-01-15 09:36:22  |   2016-01-15 19:15:04  |          9h 38m        |
   2016-01-15 19:22:21  |   2016-01-15 20:00:05  |          0h 37m        |
   ...
   -------------------  |  --------------------  |  --------------------  | 

Summary: Days Since Boot [8.23] | Days Awake [4.14] | Suspend/Wake Cycles: [28]

El guión está en github. enlace al repositorio de github


1
Esto funcionó para mí en Ubuntu 16.04
raphinesse

Es bueno saber que podemos revisar el diario.
Shiplu Mokaddim

Úselo journalctl -b 0 -o short-iso MESSAGE="PM: Finishing wakeup." | tail -1 | cut -d" " -f1solo para el momento del último despertar
raphinesse

13

El programa pm-suspend no es la única opción para suspender la computadora. Mi registro de este programa ahora está vacío, pero he encontrado un comando más confiable:

cat /var/log/syslog | grep 'systemd-sleep' | grep "Suspending\|resumed"

Y la salida es:

Oct  2 09:11:48 dmatej-lenovo systemd-sleep[931]: Suspending system...
Oct  2 09:53:10 dmatej-lenovo systemd-sleep[931]: System resumed.
Oct  2 15:02:48 dmatej-lenovo systemd-sleep[27516]: Suspending system...
Oct  2 16:07:19 dmatej-lenovo systemd-sleep[27516]: System resumed.
Oct  2 16:32:48 dmatej-lenovo systemd-sleep[29622]: Suspending system...
Oct  2 17:16:41 dmatej-lenovo systemd-sleep[29622]: System resumed.
Oct  3 00:24:58 dmatej-lenovo systemd-sleep[21316]: Suspending system...
Oct  3 08:17:22 dmatej-lenovo systemd-sleep[21316]: System resumed.
Oct  3 09:09:25 dmatej-lenovo systemd-sleep[24739]: Suspending system...
Oct  3 09:50:47 dmatej-lenovo systemd-sleep[24739]: System resumed.

1

mejor versión modificada de respuesta de pasos

grep ': Awake' /var/log/pm-suspend.log

editar jaja gracias por los comentarios: D


¡Y ganaste un uso inútil del catpunto!
gniourf_gniourf

No hay votos a favor por el uso inútil de 'gato'.
Magellan

1

No tenía pm-suspend.log en mi máquina.

Esto funcionó para mí:

/usr/bin/pmset -g log | grep Wake | grep "due to" | tail -n1

También dice qué despertó la computadora. :-)


1
¿Qué pasa si no se encuentra ningún comando pmsety no hay un archivo como pmsety pm-suspend.logestá vacío? :(
cprn

pm-suspend.logfaltaba y esto funciona para mí (en mi iMac)
dayuloli

1
Esto es solo para Mac
plaisthos

0

¿Qué estás usando para iniciar el modo de espera?

Si puede usar un script, entonces después de la línea

echo -n "standby" > /proc/acpi/sleep

podrías tener la línea

echo `date +%s` >> /var/log/wakeups.log

O algo similar. Esto significaría que lo primero que hizo la máquina cuando se despertó fue escribir la hora y fecha actuales en un archivo de registro (n segundos desde la época).

Entonces tail -1 /var/log/wakeups.logte daría la última vez. Podría restar esto de la hora actual para obtener segundos desde la última activación.


0

Busque la última aparición de la cadena "PM: restauración de dispositivos completa" en / var / log / messages. Sin embargo, si su máquina ha estado funcionando demasiado tiempo, entonces el registro puede rotarse.



0

Los pasos de extensión responden:

grep Awake /var/log/pm-suspend.log | tail -1

Esto obtendrá la línea con el último tiempo de activación.


0

Creo que esta es una forma muy sólida de hacerlo:

systemd[1]: Started Run anacron jobs at resume

Busque cuándo se iniciará el sistema operativo anacron, sin embargo, la máquina se encenderá


0

Ninguna de estas respuestas funcionó para mí. Pero útilmente encontré sleep.targetcuál está hecho exactamente para esto:

$ journalctl -n4 -u sleep.target
nov. 17 17:16:37 kaa systemd[1]: Reached target Sleep.
nov. 17 18:46:22 kaa systemd[1]: Stopped target Sleep.
nov. 17 19:27:31 kaa systemd[1]: Reached target Sleep.
nov. 17 19:45:21 kaa systemd[1]: Stopped target Sleep.

-1

en fedora usando ripgrep

rg Suspend /var/log/messages

resultado:

34338:Jul 26 03:03:46 <hostname> systemd-sleep: Suspending system...
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.