"마지막" 명령의 각 열의 의미

"마지막" 명령의 각 열의 의미

일반적인 방법으로 서버가 다시 시작되는 것을 조사할 때 "마지막" 유틸리티를 살펴보기 시작했지만 문제는 이 열이 정확히 무엇을 의미하는지 찾을 수 없다는 것입니다. 물론 이 내용을 찾아봤지만 이 정보가 포함되어 있지 않습니다.

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 Tue 03 Apr 07:34 - 09:17 (9+01:42)

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

4월 3일에 사용자를 다시 시작하기 위한 항목이 2개(둘 다 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줄의 "restart" 로그아웃 시간은 현재 시간과 동일합니다.

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다음 "시스템 종료 부팅"의 로그아웃 시간이 할당되거나 "시스템 종료 부팅"이 없는 경우 현재 시간이 할당된다고 가정합니다. "이것을 따라 가라.

"runlevel (to lvl 3)" 항목은 로그아웃 시 더 합리적인 추측을 하는 것으로 보이지만 충돌을 고려하지 않는 것 같습니다.

답변3

맨페이지에서 마지막 열은 세션 시작, 중지 시간 및 세션 기간인 것으로 나타납니다.

답변4

말씀하신 대로 마지막 줄은 가동 시간입니다. 마지막 두 열은 다시 시작 시간과 현재 시간이라고 생각합니다. 마지막 명령을 실행하면 그 다음의 두 번째 열에 현재 시간이 표시되고 항상 변경되기 때문입니다.

관련 정보