Como encontrar o tempo de atividade desde a última ativação do modo de espera

29

Quero saber o tempo de atividade desde a última ativação do modo de espera.

O comando uptimemostra apenas a diferença entre o horário atual menos o último horário de inicialização.

usuário debian
fonte

Respostas:

30

Em /var/log/pm-suspend.log, procure a última linha parecida com esta:

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

Essa é a sua última hora de despertar. Você pode calcular seu tempo de atividade desde então, da maneira que Paulo sugeriu.

Periodicamente, você logrotate"girará" os logs para impedir que eles fiquem muito grandes; portanto, você poderá encontrar um pm-suspend.logarquivo vazio . Nesse caso, basta procurar o pm-suspend.log.1arquivo (você também pode encontrar outros arquivos de log com o nome like pm-suspend.log.2.gze assim por diante; você pode examiná-los usando zcatou zless).

passos
fonte
Isso funcionou para mim
Jacek Pietal
5
E se pm-suspend.logestiver vazio? :(
CPRN
1
Se você também se preocupa com a suspensão do carimbo de data e hora, 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 5/16
2
Não existe tal arquivo no meu computador (rodando Ubuntu 16.04 LTS)
Ramon Suarez
O arquivo está presente apenas se você instalou o pm-suspend. Mas, por exemplo, o Kubuntu também fica em estado suspenso depois de fechar o notebook. Em seguida, o arquivo pm-suspende está vazio.
dmatej
15

Para desktops / servidores executando systemd, embora não exista um comando direto que informe as informações diretamente (tanto quanto eu saiba), todos os dados são capturados no diário.

Você pode cumprimentar o diário, por exemplo:

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"

Ou, para uma saída sofisticada, escrevi um script python3 (funciona bem no Fedora 23)

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]

O script está no github. link para o repositório do github

Ari
fonte
1
Isso funcionou para mim no Ubuntu 16.04
raphinesse
É bom saber que podemos verificar o diário.
Shiplu Mokaddim
Use journalctl -b 0 -o short-iso MESSAGE="PM: Finishing wakeup." | tail -1 | cut -d" " -f1apenas o momento da última ativação
raphinesse
13

O programa pm-suspend não é a única opção de como suspender o computador. Meu log deste programa agora está vazio, mas eu encontrei um comando mais confiável:

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

E a saída é:

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
fonte
1

melhor versão modificada das etapas resposta

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

editar haha ​​obrigado pelos comentários: D

Jacek Pietal
fonte
E você ganhou um uso inútil de catponto!
gniourf_gniourf
Não há votos positivos para o uso inútil de 'gato'.
Magellan
1

Eu não tinha pm-suspend.log na minha máquina.

Isso funcionou para mim:

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

Também diz o que acordou o computador. :-)

Mike
fonte
1
E se não houver nenhum comando pmsetencontrado e nenhum arquivo como pmsete pm-suspend.logestiver vazio? :(
CPRN
pm-suspend.logestava faltando e isso funciona para mim (no meu iMac)
dayuloli
1
Isto é somente para Mac #
plaisthos
0

O que você está usando para iniciar a espera?

Se você pode usar um script, depois da linha

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

você poderia ter a linha

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

Ou algo parecido. Isso significaria que a primeira coisa que a máquina fez ao acordar foi gravar a hora e a data atuais em um arquivo de log (n segundos desde a época).

Então tail -1 /var/log/wakeups.logdaria a você a última vez. Você pode subtrair isso do horário atual para obter segundos desde a última ativação.

Paulo
fonte
0

Procure a última ocorrência da cadeia "PM: restauração de dispositivos concluída" em / var / log / messages. Se a sua máquina estiver em funcionamento por muito tempo, o registro poderá ser girado.

teika kazura
fonte
0

Você pode usar o tempo de inicialização para rastrear a vida útil do sistema / inicialização.

Rfraile
fonte
Não fornece as informações solicitadas pelo OP.
wieczorek1990
0

Resposta das etapas de extensão:

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

Isso entrará na linha com a última hora de ativação.

thethakuri
fonte
0

Eu acho que essa é uma maneira muito sólida de fazer isso:

systemd[1]: Started Run anacron jobs at resume

Procurar quando o sistema operacional iniciar o anacron, ocorrerá no entanto a máquina estiver ligada

Jay Day Zee
fonte
0

Nenhuma dessas respostas funcionou para mim. Mas eu achei útil o sleep.targetque é feito exatamente para isso:

$ 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
fonte
-1

no fedora usando ripgrep

rg Suspend /var/log/messages

resultado:

34338:Jul 26 03:03:46 <hostname> systemd-sleep: Suspending system...
ilucente
fonte