저는 AlmaLinux 9를 실행하고 있으며 한동안 안정적으로 실행되었습니다. 오늘 아침에 systemd 서비스가 밤새 다시 시작되었다는 이메일을 받았습니다. 이상한 점은 서비스가 자동으로 다시 시작되도록 설정되어 있지 않기 때문에 시스템과 함께 시작된다는 것입니다. 본체에는 UPS가 설치되어 있어 이상한 전원 문제는 없을 것입니다. 시작 로그를 확인했는데 "마지막" 명령이 표시되었습니다.
reboot system boot 5.14.0-284.25.1. Mon Nov 20 02:15 still running
reboot system boot 5.14.0-284.25.1. Sun Oct 29 15:24 still running
reboot system boot 5.14.0-284.25.1. Thu Oct 26 10:57 - 11:07 (2+00:09)
reboot system boot 5.14.0-284.25.1. Wed Oct 25 17:13 - 17:16 (00:03)
reboot system boot 5.14.0-284.25.1. Fri Oct 20 11:56 - 17:10 (5+05:13)
reboot system boot 5.14.0-284.25.1. Wed Oct 18 20:25 - 11:51 (15:26)
reboot system boot 5.14.0-284.25.1. Tue Oct 17 04:52 - 11:51 (2+06:59)
reboot system boot 5.14.0-284.25.1. Fri Sep 29 15:45 - 11:51 (19+20:06)
reboot system boot 5.14.0-284.25.1. Sat Sep 23 09:09 - 14:56 (6+05:46)
reboot system boot 5.14.0-284.25.1. Tue Sep 19 20:14 - 09:09 (3+12:55)
reboot system boot 5.14.0-284.25.1. Tue Sep 19 19:21 - 19:57 (00:35)
reboot system boot 5.14.0-284.25.1. Sun Sep 10 20:23 - 18:01 (8+21:37)
reboot system boot 5.14.0-284.25.1. Sun Sep 10 16:18 - 20:23 (04:04)
reboot system boot 5.14.0-284.25.1. Fri Sep 8 20:53 - 19:56 (23:03)
reboot system boot 5.14.0-284.25.1. Fri Sep 8 20:43 - 20:52 (00:08)
reboot system boot 5.14.0-284.25.1. Fri Sep 8 20:27 - 20:43 (00:15)
reboot system boot 5.14.0-284.25.1. Fri Sep 8 19:10 - 20:26 (01:16)
reboot system boot 5.14.0-284.25.1. Fri Sep 8 16:25 - 18:52 (02:26)
reboot system boot 5.14.0-284.11.1. Fri Sep 8 19:50 - 16:24 (-3:25)
이것은 말이 되지 않습니다. 위쪽 두 줄이 모두 "아직 실행 중"이라는 것이 어떻게 가능합니까? 아니면 이것이 무엇을 의미하는지 오해하고 있습니까?
가동 시간 --pretty를 확인했는데 다음과 같습니다.
up 8 hours, 49 minutes
그러나 내 /var/log/messages 파일에는 약 9시간 전의 시스템 재부팅 관련 메시지가 표시되지 않고 단지 정기적인 로깅만 표시됩니다.
무슨 일이야? 가동 시간은 내 호스트가 오늘 아침에 재부팅되었음을 나타내고, "마지막"은 10월 29일 부팅이 여전히 실행 중임을 나타내며(그러나 11월 20일/오늘 부팅도 마찬가지) 시스템 로그에는 지난 24시간 동안 재부팅 흔적이 표시되지 않습니다. 그건 말이 안 돼
답변1
이전 버전도 확인해 보셨나요 /var/log/messages
?
월요일 아침 04:00 경은 자동 주간 로그 순환을 실행하는 일반적인 시간입니다. 시스템에서 이런 일이 발생하면 다시 시작 메시지가 /var/log/messages.1[.gz]
AlmaLinux 로그 회전이 사용하는 명명 체계로 회전되었을 수 있습니다.
재부팅 로그가 정말 사라지면 해커/맬웨어 공격 가능성이 걱정됩니다. 재부팅하고 로그를 삭제하면(아마도 미숙하거나 불완전할 수 있음) 침입자가 실행하는 프로세스를 숨기고 침입자가 시스템에 다시 액세스할 수 있도록 보장하기 위해 시스템에 루트킷이 설치되어 있음을 나타낼 수 있습니다. 원래 취약점에서 침입자가 허용된 경우에도 마찬가지입니다. 수정되었습니다.
UPS 배터리가 새 것이 아닌 경우 실제 컴퓨터를 UPS에서 분리하고 UPS가 책상 램프나 팬과 같이 거의 동일한 전력을 사용하는 "무해한" 부하에 전원을 공급하도록 하여 스트레스 테스트를 수행할 것을 권장합니다. 벽에서 입력 전원을 분리한 후에도 UPS가 실제로 전원을 공급할 수 있는 시간은 오래 걸립니다.
UPS 배터리가 거의 방전된 경우 시스템의 전원이 갑자기 꺼졌다가 다시 시작되어 시작 중에 다시 전원이 꺼질 수 있습니다. 두 번째 정전이 완전히 잘못된 순간에 발생하는 경우입니다.
(내 UPS는 최근에 배터리를 교체해야 한다는 알림을 보내기 시작했습니다. 미루다가... 아주 짧은 정전이 발생했고, 배터리가 말 그대로 완전히 방전되었기 때문에 몇 초 후에 UPS가 작동하지 않았습니다. 이제 내 진로를 알고 있으며 새 배터리도 설치해야 합니다.)
답변2
질문 제목에 답하려면 다음을 시도해 보세요.
date -d@$(cat /proc/uptime | cut -f 1 -d " ") -u +%H:%M:%S
이는 출력을 /proc/uptime
더 나은 출력으로 변환하고 "유휴 시간"을 제거하는 멋진 방법일 뿐입니다.
ps -p 1 -o lstart=
시스템이 시작된 시간이 아니라 init
시작된 시간이 표시됩니다. 컨테이너에 있지 않은 경우 시스템이 마지막으로 재부팅된 시간과 동일합니다. date --date="$(cat /proc/uptime | cut -f 1 -d " ") seconds ago"
옵션이 일치하는지 확인하기 위해 실행할 수도 있습니다 .
dmesg -H | head -n 1
dmesg
로그 쓰기가 시작된 시간이 표시되어야 합니다 . 이는 바이너리 로그이므로 텍스트 파일보다 더 안정적이지만 오류가 없는 것은 아닙니다.