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