답변:
에서 /var/log/pm-suspend.log
,이처럼 보이는 마지막 행을 찾습니다
Sun Dec 16 09:30:31 CET 2012: Awake.
마지막으로 일어난 시간입니다. 그 이후로 Paul이 제안한 방식으로 가동 시간을 계산할 수 있습니다.
주기적으로 logrotate
로그를 "회전"하여 로그가 너무 커지지 않도록 빈 pm-suspend.log
파일을 찾을 수 있습니다. 이 경우, 단지를 찾아 pm-suspend.log.1
파일 (당신은 또한 같은 이름의 다른 로그 파일을 찾을 수 pm-suspend.log.2.gz
등을, 당신은 사용하여 검사 할 수 있습니다 zcat
또는 zless
).
pm-suspend.log
비어? :(
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
systemd를 실행하는 데스크탑 / 서버의 경우 정보를 직접 알려주는 직접적인 명령은 없지만 모든 데이터는 저널에 캡처됩니다.
다음과 같이 저널을 잡을 수 있습니다.
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"
또는 멋진 출력을 위해 python3 스크립트를 작성했습니다 (Fedora 23에서 정상적으로 실행 됨) 샘플 출력 :
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]
스크립트는 github에 있습니다. github repo에 링크
journalctl -b 0 -o short-iso MESSAGE="PM: Finishing wakeup." | tail -1 | cut -d" " -f1
마지막
pm-suspend 프로그램은 컴퓨터를 일시 중단시키는 유일한 옵션은 아닙니다. 이 프로그램의 로그가 비어 있지만 더 안정적인 명령을 찾았습니다.
cat /var/log/syslog | grep 'systemd-sleep' | grep "Suspending\|resumed"
그리고 출력은 다음과 같습니다
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.
더 나은 단계 답변 수정 수정
grep ': Awake' /var/log/pm-suspend.log
댓글 주셔서 감사합니다 하하 : D
cat
포인트를 사용했습니다 !
대기 모드를 시작하기 위해 무엇을 사용하고 있습니까?
스크립트를 사용할 수 있다면 줄 뒤에
echo -n "standby" > /proc/acpi/sleep
당신은 라인을 가질 수
echo `date +%s` >> /var/log/wakeups.log
또는 비슷한 것. 이것은 머신이 깨어 났을 때 가장 먼저해야 할 일은 현재 시간과 날짜를 로그 파일에 기록하는 것입니다 (에포크 이후 n 초).
그러면 tail -1 /var/log/wakeups.log
마지막 시간을 줄 것입니다. 마지막 깨우기 후 초를 얻기 위해 현재 시간에서 이것을 뺄 수 있습니다.
이 답변들 중 어느 것도 나를 위해 일하지 않았습니다. 그러나 나는 sleep.target
이것이 정확하게 이것을 위해 만들어진 것을 유용하게 발견했다 .
$ 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.