"마지막" 명령의 열 의미

"마지막" 명령의 열 의미

정기적으로 재부팅되는 서버를 조사하면서 "마지막" 유틸리티를 살펴보기 시작했지만 문제는 열이 정확히 무엇을 의미하는지 찾을 수 없다는 것입니다. 물론 나는 그 사람을 자세히 살펴보았지만 거기에는 그러한 정보가 들어 있지 않습니다.

root@webservice1:/etc# last reboot   
reboot   system boot  3.2.13-grsec-xxx Thu Apr 12 09:44 - 09:58  (00:13)    
reboot   system boot  3.2.13-grsec-xxx Thu Apr 12 09:34 - 09:43  (00:08)    
reboot   system boot  3.2.13-grsec-xxx Thu Apr 12 09:19 - 09:33  (00:13)    
reboot   system boot  3.2.13-grsec-xxx Thu Apr 12 08:51 - 09:17  (00:25)    
reboot   system boot  3.2.13-grsec-xxx Thu Apr 12 00:11 - 09:17  (09:05)    
reboot   system boot  3.2.13-grsec-xxx Wed Apr 11 19:40 - 09:17  (13:36)    
reboot   system boot  3.2.13-grsec-xxx Sun Apr  8 22:06 - 09:17 (3+11:10)   
reboot   system boot  3.2.13-grsec-xxx Sat Apr  7 14:31 - 09:17 (4+18:45)   
reboot   system boot  3.2.13-grsec-xxx Fri Apr  6 10:20 - 09:17 (5+22:56)   
reboot   system boot  3.2.13-grsec-xxx Thu Apr  5 00:16 - 09:17 (7+09:01)   
reboot   system boot  3.2.13-grsec-xxx Tue Apr  3 07:34 - 09:17 (9+01:42)   
reboot   system boot  3.2.13-grsec-xxx Tue Apr  3 02:31 - 09:17 (9+06:45)   
reboot   system boot  3.2.13-grsec-xxx Mon Apr  2 23:17 - 09:17 (9+09:59)   

첫 번째 열은 포함된 커널 버전까지 의미가 있습니다. 이 시간은 정확히 무엇을 나타냅니까? 마지막은 가동시간인 것 같습니다.

둘째, 이 서버는 연중무휴 24시간 운영되는 서버로 간주됩니다. 단, 시간이 일치하지 않는 것 같아 가동 중지 시간이나 유사한 현상이 발생하고 있음을 의미할 수 있습니다. 예를 들어, 마지막 두 줄을 보면 내 서버가 4월 2일 09:17부터 4월 3일 02:31까지 꺼져 있다는 의미입니까?

배경 정보는 Debian Squeeze 서버입니다.

편집하다

마지막 열이 시작 시간, 중지 시간, 가동 시간인 경우 다음 두 줄을 어떻게 해석할 수 있나요?

reboot   system boot  3.2.13-grsec-xxx Tue Apr  3 07:34 - 09:17 (9+01:42)   
reboot   system boot  3.2.13-grsec-xxx Tue Apr  3 02:31 - 09:17 (9+06:45)   

두 번째 세션은 첫 번째 세션이 시작된 후에 종료되는 것 같은데, 이는 나에게 이해가 되지 않습니다.

답변1

이 글은 3년이나 된 글인 것 같지만, 제가 최근에 그랬던 것처럼 앞으로 이 글을 접하게 될 다른 분들을 위해 어쨌든 답글을 달겠습니다.

다른 게시물을 읽고 일정 기간 동안 직접 출력을 모니터링한 결과, 각 줄에는 세션 시작 날짜와 시간, 세션 종료 시간(종료 날짜는 아님), 세션 기간이 나열되어 있는 것처럼 보입니다. (로그인한 기간)과 같은 형식으로

(일+시간:분)

재부팅 사용자는 시스템이 시작될 때마다 로그인하고 시스템을 재부팅하거나 종료할 때 로그인한 것으로 표시되며 해당 줄에서 "세션 기간" 정보는 시간 길이(일+시:분)입니다. 해당 "세션"은 지속되었습니다. 즉, 시스템이 종료되기 전에 시스템이 작동된 시간입니다.

나에게 있어서 가장 최근의 재부팅 항목은 현재 시간을 "로그오프" 시간으로 표시하고 해당 항목의 세션 기간 데이터는 현재 가동 시간 출력과 일치합니다.

그래서 이 줄에서:

재부팅 시스템 boot 3.2.13-grsec-xxx 화요일 4월 3일 07:34 - 09:17 (9+01:42)

4월 3일 화요일 오전 7시 34분에 시스템이 가동되어 9일 1시간 42분 뒤인 4월 12일 오전 9시 17분에 시스템이 종료되었습니다. (또는 이 출력은 당시 수집되었으며 이는 가장 최근 재부팅 항목이며 "재부팅"은 실제로 아직 "로그오프"되지 않았습니다. 이 경우 마지막 명령을 다시 실행하면 출력이 변경됩니다.)

재부팅 사용자에 대해 4월 3일에 9일 동안 두 개의 항목이 있는 이유는 나에게 미스터리입니다. 내 시스템은 그렇게 하지 않습니다.

답변2

요약

  • 첫 번째 타임스탬프는 재부팅 중에 시스템이 다운된 시간으로 나타납니다.
  • 두 번째 타임스탬프와 경과 시간은 그다지 유용하지 않습니다.
  • -x옵션 을 전달하면 last줄에 표시된 타임스탬프에 영향을 미치는 종료 및 실행 수준 변경과 관련된 다른 이벤트를 표시하는 데 유용할 수 있습니다 reboot. 다른 답변에서 참조된 도구 tuptime를 사용하면 이를 더 명확하게 할 수 있지만 아직 살펴보지 않았습니다.

세부

lastCentOS 6 및 7의 매뉴얼 페이지에는 다음과 같이 나와 있습니다 .

의사 사용자 재부팅은 시스템이 재부팅될 때마다 로그인됩니다.

사용자가 로그아웃한 시점에 대해서는 아무 말도 하지 않으며 아래에 표시된 증거를 보면 로그아웃 시간이 명시적으로 기록되지 않았음을 시사하는 것 같습니다. 관심 있는 사람이 있다면 실행 레벨 변경 사항을 기록하는 방법에 대한 자세한 내용은 reboot및 매뉴얼 페이지에 나와 있습니다.shutdown

reboot테스트 결과 로그인 시간은 종료 과정의 후반부부터인 것으로 나타났습니다. 명령이 실행된 시간부터가 아닙니다 .

따라서 로그아웃 시간(두 번째 타임스탬프)과 "재부팅"이 로그인된 기간(괄호 안에 표시)은 무시해야 할 것 같습니다.

-F옵션을 에 전달하면 last전체 타임스탬프가 표시되므로 머신이 우연히 동시에 재부팅되지 않고 정확히 동일한 타임스탬프가 몇 번만 표시된다는 것이 약간 더 명확해집니다. 또한 -x플래그를 전달하면 "시스템 종료 항목 및 실행 수준 변경 사항"이 표시됩니다.

여기에서는 CentOS 7에서 실행했으며 -R호스트 이름/커널 버전 열을 억제하는 옵션도 전달했습니다. 또한 흥미롭지 않은 루트 로그인도 제거했습니다.

# date ; last -x -F -R
Mon Nov 12 01:10:44 UTC 2018
root     pts/0        Mon Nov 12 00:02:57 2018   still logged in
runlevel (to lvl 3)   Sat Nov 10 17:57:29 2018 - Mon Nov 12 01:10:44 2018 (1+07:13)
reboot   system boot  Sat Nov 10 17:57:12 2018 - Mon Nov 12 01:10:44 2018 (1+07:13)
runlevel (to lvl 3)   Sat Oct 27 17:58:20 2018 - Sat Nov 10 17:57:29 2018 (13+23:59)
reboot   system boot  Sat Oct 27 17:58:03 2018 - Mon Nov 12 01:10:44 2018 (15+07:12)
runlevel (to lvl 3)   Sat Jul 21 18:14:55 2018 - Sat Oct 27 17:58:20 2018 (97+23:43)
reboot   system boot  Sat Jul 21 18:14:16 2018 - Mon Nov 12 01:10:44 2018 (113+06:56)
runlevel (to lvl 3)   Sun Nov 12 22:36:14 2017 - Sat Jul 21 18:14:55 2018 (250+19:38)
reboot   system boot  Sun Nov 12 22:35:35 2017 - Mon Nov 12 01:10:44 2018 (364+02:35)
root     pts/0        Fri Nov 10 07:13:20 2017 - crash                    (2+15:22)
runlevel (to lvl 3)   Sun Aug 27 04:15:56 2017 - Sun Nov 12 22:36:14 2017 (77+18:20)
reboot   system boot  Sun Aug 27 04:14:59 2017 - Mon Nov 12 01:10:44 2018 (441+20:55)
runlevel (to lvl 3)   Mon Aug 14 00:14:01 2017 - Sun Aug 27 04:15:56 2017 (13+04:01)
reboot   system boot  Mon Aug 14 00:13:46 2017 - Mon Nov 12 01:10:44 2018 (455+00:56)

위의 6개 "재부팅" 줄은 모두 현재 시간과 동일한 로그아웃 시간을 갖습니다.

shutdown system down  Fri Aug 11 08:05:29 2017 - Mon Aug 14 00:13:46 2017 (2+16:08)
root     pts/0        Fri Aug 11 08:05:23 2017 - down                      (00:00)
runlevel (to lvl 3)   Fri Jun 30 07:05:42 2017 - Fri Aug 11 08:05:29 2017 (42+00:59)
reboot   system boot  Fri Jun 30 07:05:27 2017 - Fri Aug 11 08:05:29 2017 (42+01:00)
[...]
root     pts/0        Fri Jun 30 05:48:16 2017 - crash                     (01:17)
root     pts/0        Tue Jun 27 04:59:56 2017 - Tue Jun 27 05:00:30 2017  (00:00)
root     pts/0        Mon Jun 26 11:20:57 2017 - Mon Jun 26 04:24:39 2017  (-6:-56)
runlevel (to lvl 3)   Mon Jun 26 11:15:13 2017 - Fri Jun 30 07:05:42 2017 (3+19:50)
reboot   system boot  Mon Jun 26 11:14:57 2017 - Fri Aug 11 08:05:29 2017 (45+20:50)
root     pts/0        Sun Jun 25 14:07:51 2017 - crash                     (21:07)
[...]
root     tty1         Thu Jun 22 13:07:42 2017 - crash                    (3+22:07)
runlevel (to lvl 3)   Thu Jun 22 13:07:07 2017 - Mon Jun 26 11:15:13 2017 (3+22:08)
reboot   system boot  Thu Jun 22 13:06:51 2017 - Fri Aug 11 08:05:29 2017 (49+18:58)
root     pts/0        Thu Jun 22 12:43:56 2017 - crash                     (00:22)
runlevel (to lvl 3)   Thu Jun 22 12:30:53 2017 - Thu Jun 22 13:07:07 2017  (00:36)
reboot   system boot  Thu Jun 22 12:30:38 2017 - Fri Aug 11 08:05:29 2017 (49+19:34)
root     pts/1        Thu Jun 22 12:26:49 2017 - crash                     (00:03)
root     pts/0        Thu Jun 22 11:55:28 2017 - crash                     (00:35)
runlevel (to lvl 3)   Thu Jun 22 11:49:53 2017 - Thu Jun 22 12:30:53 2017  (00:41)
reboot   system boot  Thu Jun 22 11:49:14 2017 - Fri Aug 11 08:05:29 2017 (49+20:16)

위의 5개 "재부팅" 줄은 모두 뒤따르는 "시스템 종료" 시간과 동일한 로그아웃 시간을 가집니다.

shutdown system down  Thu Jun 22 11:47:45 2017 - Thu Jun 22 11:49:14 2017  (00:01)
[...]
runlevel (to lvl 3)   Wed Jun 21 15:59:42 2017 - Thu Jun 22 11:47:45 2017  (19:48)
reboot   system boot  Wed Jun 21 15:59:27 2017 - Thu Jun 22 11:47:45 2017  (19:48)

"재부팅" 로그아웃 시간이 "시스템 종료" 시간과 다시 일치합니다.

shutdown system down  Wed Jun 21 15:57:58 2017 - Wed Jun 21 15:59:27 2017  (00:01)
root     pts/0        Wed Jun 21 14:27:43 2017 - down                      (01:30)
[...]
runlevel (to lvl 3)   Tue Jun 20 17:14:15 2017 - Wed Jun 21 15:57:58 2017  (22:43)
reboot   system boot  Tue Jun 20 17:14:00 2017 - Wed Jun 21 15:57:58 2017  (22:43)

위와 같이.

위의 결과에서 의사 사용자 "재부팅"에 대해 명시적인 로그아웃 시간이 기록되지 않았다고 가정하므로 last다음 "시스템 종료 부팅"의 로그아웃 시간을 할당하거나 "시스템 종료 부팅이 없는 경우 현재 시간"을 할당합니다. " 따라해요.

"런레벨(레벨 3까지)" 항목은 더 합리적인 로그아웃 시간을 추측하는 것처럼 보이지만 충돌을 고려하지 않은 것 같습니다.

답변3

맨페이지에서 마지막 열은 세션 시작, 중지 시간 및 세션 기간인 것 같습니다.

답변4

당신이 말한 마지막 라인 가동 시간. 마지막 두 열의 재부팅 시간과 현재 시간이 제 생각입니다. 마지막 명령을 실행하면 뒤에서 두 번째 열에 현재 시간이 표시되고 항상 변경되기 때문입니다.

관련 정보