Chcę poznać czas działania od ostatniego budzenia ze stanu gotowości.
Polecenie uptime
pokazuje tylko różnicę między bieżącym czasem minus ostatni czas uruchomienia.
Chcę poznać czas działania od ostatniego budzenia ze stanu gotowości.
Polecenie uptime
pokazuje tylko różnicę między bieżącym czasem minus ostatni czas uruchomienia.
Odpowiedzi:
W /var/log/pm-suspend.log
poszukaj ostatniej linii wyglądającej tak:
Sun Dec 16 09:30:31 CET 2012: Awake.
To twój ostatni czas budzenia. Możesz obliczyć swój czas pracy od tego czasu, tak jak sugerował Paul.
Okresowo logrotate
będziesz „obracać” logi, aby zapobiec ich zbyt dużemu powiększeniu, więc możesz znaleźć pusty pm-suspend.log
plik. W takim przypadku po prostu poszukaj pm-suspend.log.1
pliku (możesz również znaleźć inne pliki dziennika o nazwach podobnych pm-suspend.log.2.gz
i tak dalej; możesz je sprawdzić za pomocą zcat
lub zless
).
pm-suspend.log
jest pusty? :(
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
W przypadku komputerów stacjonarnych / serwerów z systemem systemd, chociaż nie ma bezpośredniego polecenia, które poinformuje informacje bezpośrednio (o ile mi wiadomo), wszystkie dane są przechwytywane w dzienniku.
Możesz grep czasopismo, na przykład:
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"
Lub, dla fantazyjnych wyników, napisałem skrypt python3 (działa dobrze na Fedorze 23) Przykładowy wynik:
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]
Skrypt znajduje się w github. link do repozytorium github
journalctl -b 0 -o short-iso MESSAGE="PM: Finishing wakeup." | tail -1 | cut -d" " -f1
tylko na czas ostatniego
Program PM-Suspend nie jest jedyną opcją zawieszenia komputera. Mój dziennik tego programu jest teraz pusty, ale znalazłem bardziej niezawodne polecenie:
cat /var/log/syslog | grep 'systemd-sleep' | grep "Suspending\|resumed"
Wyjście to:
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.
zmodyfikowana lepsza weryfikacja odpowiedzi na kroki
grep ': Awake' /var/log/pm-suspend.log
edytuj haha dzięki za komentarze: D
cat
punktu!
Nie miałem PM-Suspend.log na moim komputerze.
To działało dla mnie:
/usr/bin/pmset -g log | grep Wake | grep "due to" | tail -n1
Mówi także, co obudziło komputer. :-)
pmset
znaleziono polecenia i nie ma takiego pliku jak pmset
i pm-suspend.log
jest pusty? :(
pm-suspend.log
brakowało i to działa dla mnie (na moim
Czego używasz, aby zainicjować tryb gotowości?
Jeśli możesz użyć skryptu, to po wierszu
echo -n "standby" > /proc/acpi/sleep
możesz mieć linię
echo `date +%s` >> /var/log/wakeups.log
Lub coś podobnego. Oznaczałoby to, że pierwszą rzeczą, którą zrobiła maszyna po przebudzeniu, było zapisanie bieżącej godziny i daty w pliku dziennika (n sekund od epoki).
Wtedy tail -1 /var/log/wakeups.log
dałbym ci ostatni raz. Możesz odjąć to od bieżącego czasu, aby uzyskać sekundy od ostatniego budzenia.
Wyszukaj ostatnie wystąpienie ciągu „PM: przywracanie urządzeń zakończone” w / var / log / messages. Jeśli jednak maszyna była zbyt długa, dziennik może zostać obrócony.
Za pomocą tuptime można śledzić czas uruchamiania / zamykania systemu.
Odpowiedź „Rozszerzanie kroków”:
grep Awake /var/log/pm-suspend.log | tail -1
Spowoduje to wyświetlenie linii z ostatnim czasem budzenia.
Myślę, że to bardzo solidny sposób na zrobienie tego:
systemd[1]: Started Run anacron jobs at resume
Wyszukaj, kiedy system operacyjny uruchomi anakron, nastąpi, jednak urządzenie zostanie włączone
Żadna z tych odpowiedzi nie działała dla mnie. Przydatnie jednak znalazłem, sleep.target
który jest stworzony właśnie do tego:
$ 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.