Quiero saber el tiempo de actividad desde el último despertar del modo de espera.
El comando uptime
solo muestra la diferencia entre la hora actual menos la última hora de inicio.
Quiero saber el tiempo de actividad desde el último despertar del modo de espera.
El comando uptime
solo muestra la diferencia entre la hora actual menos la última hora de inicio.
Respuestas:
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.log
archivo vacío . En este caso, solo busque el pm-suspend.log.1
archivo (también puede encontrar otros archivos de registro con el nombre like, pm-suspend.log.2.gz
etc.; puede examinarlos usando zcat
o zless
).
pm-suspend.log
está vacío? :(
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
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
journalctl -b 0 -o short-iso MESSAGE="PM: Finishing wakeup." | tail -1 | cut -d" " -f1
solo para el momento del último despertar
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.
mejor versión modificada de respuesta de pasos
grep ': Awake' /var/log/pm-suspend.log
editar jaja gracias por los comentarios: D
cat
punto!
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. :-)
pmset
y no hay un archivo como pmset
y pm-suspend.log
está vacío? :(
pm-suspend.log
faltaba y esto funciona para mí (en mi iMac)
¿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.log
te daría la última vez. Podría restar esto de la hora actual para obtener segundos desde la última activación.
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.
Puede usar tuptime para rastrear la vida de inicio / apagado del sistema.
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.
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á
Ninguna de estas respuestas funcionó para mí. Pero útilmente encontré sleep.target
cuá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.