Comment trouver la disponibilité depuis le dernier réveil de veille


29

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

La commande uptimeaffiche uniquement la différence entre l'heure actuelle moins la dernière heure de démarrage.

Réponses:


30

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

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

C'est votre dernière heure de réveil. Vous pouvez calculer votre temps de disponibilité depuis la manière suggérée par Paul.

Périodiquement, vos logrotatejournaux "tournent" pour les empêcher de devenir trop gros, vous pouvez donc trouver un pm-suspend.logfichier vide . Dans ce cas, recherchez simplement le pm-suspend.log.1fichier (vous pouvez également trouver d'autres fichiers journaux nommés comme pm-suspend.log.2.gzet ainsi de suite; vous pouvez les examiner à l'aide de zcatou zless).


cela a fonctionné pour moi
Jacek Pietal

5
Et si pm-suspend.logest vide? :(
cprn

1
Si vous vous souciez également de suspendre l'horodatage, utilisez: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

2
Aucun fichier de ce type sur mon ordinateur (exécutant Ubuntu 16.04 LTS)
Ramon Suarez

Le fichier n'est présent que si vous avez installé pm-suspend. Mais par exemple, Kubuntu passe à l'état suspendu également après avoir fermé le cahier. Le fichier pm-suspend est alors vide.
dmatej

15

Pour les postes de travail / serveurs exécutant systemd, bien qu'il n'y ait pas de commande directe qui dira les informations directement (pour autant que je sache), toutes les données sont capturées dans le journal.

Vous pouvez grep 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 sophistiquée, j'ai écrit un script python3 (fonctionne très bien sur Fedora 23) Exemple de sortie:

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]

Le script est dans github. lien vers github repo


1
Cela a fonctionné pour moi sur Ubuntu 16.04
raphinesse

Bon à savoir que nous pouvons consulter le journal.
Shiplu Mokaddim

Utiliser journalctl -b 0 -o short-iso MESSAGE="PM: Finishing wakeup." | tail -1 | cut -d" " -f1juste pour le temps du dernier réveil
raphinesse

13

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 la sortie est:

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

modification de la meilleure vérification des étapes

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

modifier haha ​​merci pour les commentaires: D


Et vous avez gagné une utilisation inutile de catpoint!
gniourf_gniourf

Pas de votes positifs pour une utilisation inutile de «chat».
Magellan

1

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

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


1
Que faire si aucune commande n'a été pmsettrouvée et aucun fichier tel que pmsetet pm-suspend.logest vide? :(
cprn

pm-suspend.logmanquait et cela fonctionne pour moi (sur mon iMac)
dayuloli

1
Ceci est pour Mac uniquement
plaisthos

0

Qu'utilisez-vous pour lancer la mise en veille?

Si vous pouvez utiliser un script, après la ligne

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

tu pourrais avoir la ligne

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

Ou quelque chose de similaire. Cela signifierait que la première chose que la machine a fait lorsqu'elle s'est réveillée a été d'écrire l'heure et la date actuelles dans un fichier journal (n secondes depuis l'époque).

Alors tail -1 /var/log/wakeups.logje vous donnerais la dernière fois. Vous pouvez soustraire cela de l'heure actuelle pour obtenir des secondes depuis le dernier réveil.


0

Recherchez la dernière occurrence de la chaîne "PM: restauration des périphériques terminée" dans / var / log / messages. Si votre machine a fonctionné trop longtemps, le journal peut cependant être tourné.


0

Vous pouvez utiliser tuptime pour suivre la durée de vie de démarrage / arrêt du système.


Ne fournit pas les informations demandées par le PO.
wieczorek1990

0

Étendre la réponse aux étapes:

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

Cela obtiendra la ligne avec la dernière heure de réveil.


0

Je pense que c'est une façon très solide de le faire:

systemd[1]: Started Run anacron jobs at resume

Rechercher quand l'OS démarre anacron, se produira cependant la machine est allumée


0

Aucune de ces réponses n'a fonctionné pour moi. Mais j'ai trouvé utilement sleep.targetce qui est fait 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.

-1

sur fedora en utilisant ripgrep

rg Suspend /var/log/messages

résultat:

34338:Jul 26 03:03:46 <hostname> systemd-sleep: Suspending system...
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.