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.

usuario debian
fuente

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).

pasos
fuente
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

Ari
fuente
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.
dmatej
fuente
1

mejor versión modificada de respuesta de pasos

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

editar jaja gracias por los comentarios: D

Jacek Pietal
fuente
¡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. :-)

Micro
fuente
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.

Paul
fuente
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.

teika kazura
fuente
0

Puede usar tuptime para rastrear la vida de inicio / apagado del sistema.

Rfraile
fuente
No proporciona la información que solicitó el OP.
wieczorek1990
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.

thethakuri
fuente
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á

Jay Day Zee
fuente
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.
odinho - Velmont
fuente
-1

en fedora usando ripgrep

rg Suspend /var/log/messages

resultado:

34338:Jul 26 03:03:46 <hostname> systemd-sleep: Suspending system...
ilustre
fuente