47 votes

Comment trouver le temps écoulé depuis le dernier réveil en mode veille

Je veux connaître le temps de fonctionnement depuis le dernier réveil de veille.

La commande uptime ne montre que la différence entre l'heure actuelle moins l'heure de démarrage précédente.

31voto

Rahul Points 1

Dans /var/log/pm-suspend.log, recherchez la dernière ligne ressemblant à celle-ci :

Dim Dec 16 09:30:31 CET 2012: Éveillé.

C'est l'heure de votre dernier réveil. Vous pouvez calculer votre temps de fonctionnement depuis lors de la manière suggérée par Paul.

Périodiquement, votre logrotate va "faire tourner" les journaux pour éviter qu'ils ne deviennent trop volumineux, vous pourriez donc trouver un fichier pm-suspend.log vide. Dans ce cas, recherchez simplement le fichier pm-suspend.log.1 (vous pourriez également trouver d'autres fichiers journaux nommés pm-suspend.log.2.gz et ainsi de suite ; vous pouvez les examiner en utilisant zcat ou zless).

28voto

dmatej Points 341

Le programme pm-suspend n'est pas la seule option pour suspendre l'ordinateur. Mon journal de ce programme est maintenant vide, mais j'ai trouvé une commande plus fiable :

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

Et voici la sortie :

Oct  2 09:11:48 dmatej-lenovo systemd-sleep[931]: Suspendre le système...
Oct  2 09:53:10 dmatej-lenovo systemd-sleep[931]: Système relancé.
Oct  2 15:02:48 dmatej-lenovo systemd-sleep[27516]: Suspendre le système...
Oct  2 16:07:19 dmatej-lenovo systemd-sleep[27516]: Système relancé.
Oct  2 16:32:48 dmatej-lenovo systemd-sleep[29622]: Suspendre le système...
Oct  2 17:16:41 dmatej-lenovo systemd-sleep[29622]: Système relancé.
Oct  3 00:24:58 dmatej-lenovo systemd-sleep[21316]: Suspendre le système...
Oct  3 08:17:22 dmatej-lenovo systemd-sleep[21316]: Système relancé.
Oct  3 09:09:25 dmatej-lenovo systemd-sleep[24739]: Suspendre le système...
Oct  3 09:50:47 dmatej-lenovo systemd-sleep[24739]: Système relancé.

27voto

Kristian Points 71

Aucune de ces réponses n'a fonctionné pour moi. Mais j'ai utilement trouvé sleep.target qui est conçu exactement pour cela :

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

24voto

Ari Points 371

Pour les ordinateurs de bureau/serveurs exécutant systemd, bien qu'il n'y ait pas de commande directe permettant d'obtenir l'information directement (autant que je sache), toutes les données sont capturées dans le journal.

Vous pouvez utiliser grep sur le journal, par exemple :

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, pour une sortie plus élaborée, j'ai écrit un script python3 (fonctionne bien sur Fedora 23) Exemple de sortie :

Heure de démarrage initiale : 2016-01-15 09:31:32

     Heure de réveil     |    Heure de suspension   |       Temps éveillé       |
  --------------------  |  --------------------  |  --------------------  |
   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        |
   ...
   -------------------  |  --------------------  |  --------------------  | 

Résumé : Jours depuis le démarrage [8.23] | Jours éveillés [4.14] | Cycle de suspension/réveil : [28]

Le script se trouve sur github. lien vers le dépôt github

2voto

Je n'avais pas pm-suspend.log sur ma machine.

Cela a fonctionné pour moi:

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

Indique également ce qui a réveillé l'ordinateur. :-)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X