대기에서 마지막으로 깨어 난 후 가동 시간을 찾는 방법


29

대기에서 마지막으로 깨어 난 후 가동 시간을 알고 싶습니다.

이 명령 uptime은 현재 시간에서 마지막 시작 시간을 뺀 차이 만 표시합니다.

답변:


30

에서 /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).


이것은 나를 위해 일했다
Jacek Pietal

5
어떤 경우는 pm-suspend.log비어? :(
cprn

1
일시 중단 타임 스탬프에 관심이있는 경우 다음을 사용하십시오.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
(우분투 16.04 LTS 실행) 내 컴퓨터에서 이러한 파일이 없습니다
라몬 레즈

pm-suspend를 설치 한 경우에만 파일이 존재합니다. 그러나 예를 들어 쿠분투는 노트북을 닫은 후에도 일시 중단 상태가됩니다. 그런 다음 pm-suspend 파일이 비어 있습니다.
dmatej

15

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에 링크


1
이것은 우분투 16.04에서 나를 위해 일했다
raphinesse

우리가 일기를 확인할 수 있다는 것을 알게되어 반갑습니다.
Shiplu Mokaddim

journalctl -b 0 -o short-iso MESSAGE="PM: Finishing wakeup." | tail -1 | cut -d" " -f1마지막
깨우는

13

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.

1

더 나은 단계 답변 수정 수정

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

댓글 주셔서 감사합니다 하하 : D


그리고 당신은 쓸모없는 cat포인트를 사용했습니다 !
gniourf_gniourf 2016 년

쓸모없는 '고양이'에 대한 공감대는 없습니다.
마젤란

1

내 컴퓨터에 pm-suspend.log가 없습니다.

이것은 나를 위해 일했다 :

/usr/bin/pmset -g log | grep Wake | grep "due to" | tail -n1

또한 컴퓨터가 어떻게 일어 났는지 알려줍니다. :-)


1
만약에하면 아무 명령 없다 pmset발견하고 해당 파일 pmsetpm-suspend.log비어? :(
cprn

pm-suspend.log누락되었고 이것은 (나의 iMac에서) 작동합니다
dayuloli

1
이것은 Mac 전용입니다
plaisthos

0

대기 모드를 시작하기 위해 무엇을 사용하고 있습니까?

스크립트를 사용할 수 있다면 줄 뒤에

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

당신은 라인을 가질 수

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

또는 비슷한 것. 이것은 머신이 깨어 났을 때 가장 먼저해야 할 일은 현재 시간과 날짜를 로그 파일에 기록하는 것입니다 (에포크 이후 n 초).

그러면 tail -1 /var/log/wakeups.log마지막 시간을 줄 것입니다. 마지막 깨우기 후 초를 얻기 위해 현재 시간에서 이것을 뺄 수 있습니다.


0

/ var / log / messages에서 문자열 "PM : restore of devices complete"가 마지막으로 나타나는 것을 검색하십시오. 머신이 너무 길면 로그가 회전 할 수 있습니다.



0

확장 단계 답변 :

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

마지막 웨이크 업 시간이 표시됩니다.


0

나는 이것이 매우 확실한 방법이라고 생각합니다.

systemd[1]: Started Run anacron jobs at resume

OS가 anacron을 시작할 때 검색하십시오. 그러나 시스템이 켜져 있습니다.


0

이 답변들 중 어느 것도 나를 위해 일하지 않았습니다. 그러나 나는 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.

-1

ripgrep을 사용하여 페도라에서

rg Suspend /var/log/messages

결과:

34338:Jul 26 03:03:46 <hostname> systemd-sleep: Suspending system...
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.