Come trovare il tempo di attività dall'ultima veglia dallo standby


29

Voglio sapere il tempo di attività dall'ultima veglia dallo standby.

Il comando uptimemostra solo la differenza tra l'ora corrente meno l'ultima ora di avvio.

Risposte:


30

Nel /var/log/pm-suspend.loglook per l'ultima linea di ricerca come questa:

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

Questo è il tuo ultimo orario di sveglia. Puoi calcolare il tuo uptime da allora nel modo suggerito da Paul.

Periodicamente i logrotateregistri "ruoteranno" per impedire che diventino troppo grandi, quindi potresti trovare un pm-suspend.logfile vuoto . In questo caso, basta cercare il pm-suspend.log.1file (è possibile trovare anche altri file di registro denominati like pm-suspend.log.2.gze così via; è possibile esaminarli utilizzando zcato zless).


questo ha funzionato per me
Jacek Pietal,

5
E se pm-suspend.logfosse vuoto? :(
cprn,

1
Se ti interessa anche sospendere il timestamp, utilizza: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 il

2
Nessun file simile nel mio computer (con Ubuntu 16.04 LTS)
Ramon Suarez,

Il file è presente solo se è stato installato pm-suspend. Ma per esempio Kubuntu passa allo stato sospeso anche dopo aver chiuso il notebook. Quindi il file pm-suspend è vuoto.
dmatej,

15

Per desktop / server che eseguono systemd, mentre non esiste un comando diretto che dirà direttamente le informazioni (per quanto ne so), tutti i dati vengono acquisiti nel diario.

Puoi grep il diario, ad esempio:

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"

Oppure, per un output sofisticato, ho scritto uno script python3 (funziona bene su Fedora 23) Output di esempio:

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]

La sceneggiatura è in github. collegamento al repository github


1
Questo ha funzionato per me su Ubuntu 16.04
raphinesse,

Buono a sapersi che possiamo controllare il diario.
Shiplu Mokaddim,

Utilizzare journalctl -b 0 -o short-iso MESSAGE="PM: Finishing wakeup." | tail -1 | cut -d" " -f1solo per l'ora dell'ultimo risveglio
raphinesse,

13

Il programma pm-suspend non è l'unica opzione su come sospendere il computer. Il mio registro di questo programma è ora vuoto, ma ho trovato un comando più affidabile:

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

E l'output è:

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

modifica migliorata verifica della risposta dei passaggi

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

modifica ahah grazie per i commenti: D


E hai vinto un uso inutile del catpunto!
gniourf_gniourf,

Nessun voto per l'uso inutile di "gatto".
Magellan,

1

Non avevo pm-suspend.log sulla mia macchina.

Questo ha funzionato per me:

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

Dice anche cosa ha svegliato il computer. :-)


1
Cosa succede se non viene pmsettrovato alcun comando e nessun file come pmsete pm-suspend.logè vuoto? :(
cprn,

pm-suspend.logmancava e questo funziona per me (sul mio iMac)
Dayuloli

1
Questo è solo per Mac
plaisthos il

0

Cosa stai usando per avviare lo standby?

Se puoi usare uno script, dopo la riga

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

potresti avere la linea

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

O qualcosa di simile. Ciò significherebbe che la prima cosa che la macchina ha fatto al suo risveglio è stata scrivere l'ora e la data correnti in un file di registro (n secondi dall'epoca).

Allora tail -1 /var/log/wakeups.logti darei l'ultima volta. Potresti sottrarlo dall'ora corrente per ottenere secondi dall'ultima sveglia.


0

Cerca l'ultima occorrenza della stringa "PM: restore of devices complete" in / var / log / messages. Se la macchina è rimasta su per troppo tempo, è possibile che il registro possa essere ruotato.



0

Risposta dei passaggi estesi:

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

Questo otterrà la linea con l'ultimo orario di sveglia.


0

Penso che questo sia un modo molto solido per farlo:

systemd[1]: Started Run anacron jobs at resume

Cerca quando il sistema operativo avvia anacron, accadrà comunque la macchina è accesa


0

Nessuna di queste risposte ha funzionato per me. Ma ho utilmente trovato sleep.targetche è fatto esattamente per questo:

$ 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

su fedora usando ripgrep

rg Suspend /var/log/messages

risultato:

34338:Jul 26 03:03:46 <hostname> systemd-sleep: Suspending system...
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.