Ich möchte die Betriebszeit seit dem letzten Aufwachen aus dem Standby kennen.
Der Befehl uptime
zeigt nur die Differenz zwischen der aktuellen Zeit minus der letzten Startzeit an.
Ich möchte die Betriebszeit seit dem letzten Aufwachen aus dem Standby kennen.
Der Befehl uptime
zeigt nur die Differenz zwischen der aktuellen Zeit minus der letzten Startzeit an.
Antworten:
In /var/log/pm-suspend.log
, suchen Sie nach der letzten Zeile wie diese suchen:
Sun Dec 16 09:30:31 CET 2012: Awake.
Das ist deine letzte Weckzeit. Sie können Ihre Betriebszeit seitdem auf die von Paul vorgeschlagene Weise berechnen.
In regelmäßigen Abständen logrotate
werden die Protokolle "gedreht", um zu verhindern, dass sie zu groß werden, sodass Sie möglicherweise eine leere pm-suspend.log
Datei finden. pm-suspend.log.1
Suchen Sie in diesem Fall einfach nach der Datei (möglicherweise finden Sie auch andere Protokolldateien mit dem Namen "Gefällt pm-suspend.log.2.gz
mir" usw.; Sie können sie mit zcat
oder überprüfen zless
).
pm-suspend.log
leer ist? :(
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
Bei Desktops / Servern, auf denen systemd ausgeführt wird, werden alle Daten im Journal erfasst, obwohl es keinen direkten Befehl gibt, der die Informationen direkt mitteilt (soweit mir bekannt ist).
Sie können das Tagebuch wie folgt durchsuchen:
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"
Oder ich habe ein Python3-Skript geschrieben (läuft gut unter Fedora 23). Beispielausgabe:
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]
Das Skript ist in Github. Link zu Github Repo
journalctl -b 0 -o short-iso MESSAGE="PM: Finishing wakeup." | tail -1 | cut -d" " -f1
nur für die Zeit der letzten Wakeup
Das Programm pm-suspend ist nicht die einzige Möglichkeit, den Computer anzuhalten. Mein Protokoll dieses Programms ist jetzt leer, aber ich habe einen zuverlässigeren Befehl gefunden:
cat /var/log/syslog | grep 'systemd-sleep' | grep "Suspending\|resumed"
Und die Ausgabe ist:
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.
Geänderte bessere Überprüfung der Schritte Antwort
grep ': Awake' /var/log/pm-suspend.log
edit haha danke für die kommentare: D
cat
Punktverwendung gewonnen!
Ich hatte keine pm-suspend.log auf meinem Computer.
Das hat bei mir funktioniert:
/usr/bin/pmset -g log | grep Wake | grep "due to" | tail -n1
Sagt auch, was den Computer aufgeweckt hat. :-)
pmset
gefunden wird und keine Datei wie pmset
und pm-suspend.log
leer ist? :(
pm-suspend.log
fehlte und dies funktioniert für mich (auf meinem iMac)
Womit initiieren Sie den Standby?
Wenn Sie ein Skript verwenden können, dann nach der Zeile
echo -n "standby" > /proc/acpi/sleep
Du könntest die Leitung haben
echo `date +%s` >> /var/log/wakeups.log
Oder etwas ähnliches. Dies würde bedeuten, dass die Maschine beim Aufwachen als erstes die aktuelle Uhrzeit und das aktuelle Datum in eine Protokolldatei schreibt (n Sekunden seit der Epoche).
Dann tail -1 /var/log/wakeups.log
gib dir das letzte mal. Sie können dies von der aktuellen Zeit subtrahieren, um die Sekunden seit dem letzten Aufwecken zu erhalten.
Suchen Sie nach dem letzten Vorkommen der Zeichenfolge "PM: Wiederherstellung der Geräte abgeschlossen" in / var / log / messages. Wenn Ihr Computer zu lange in Betrieb war, wird das Protokoll möglicherweise gedreht.
Sie können die Wartezeit verwenden, um die Lebensdauer des Systemstarts / Herunterfahrens zu verfolgen.
Erweitere Schritte Antwort:
grep Awake /var/log/pm-suspend.log | tail -1
Dies wird die Zeile mit der letzten Aufweckzeit erhalten.
Ich denke, das ist ein sehr solider Weg, um es zu tun:
systemd[1]: Started Run anacron jobs at resume
Suchen Sie nach, wann das Betriebssystem anacron gestartet wird. Dies geschieht jedoch, wenn der Computer eingeschaltet ist