마지막 셧다운이 깨끗한 지 어떻게 확인합니까?


23

Ubuntu 11.10에서 마지막 종료가 올바르게 완료되었거나 OS를 종료하기 전에 시스템의 전원이 꺼져 있는지 어떻게 알 수 있습니까?


2
/var/log/syslog.0 살펴보기
Gigili

답변:


23

머신이 올바르게 종료 된 경우 디렉토리 에 kern.log파일에 종료 로그가 기록되어 있어야합니다 /var/log. 정상적인 부팅이 발생할 때마다 종료 된 후 OS는 kern.log에 동일한 로그를 기록합니다. 따라서 부팅 및 종료 프로세스가 정상인 경우 모든 부팅 로그 앞에 종료 로그가 와야합니다.

정상적인 종료 가 발생할 때마다 "Kernel logging (proc) stopped."kern.log에 기록됩니다. 마찬가지로 부팅이 발생할 때마다 "imklog 5.8.1, log source = /proc/kmsg started."kern.log에 기록됩니다.

갑작스런 전원을 끄지 않고 종료하는 것이 정상적인 경우이 두 메시지가 순서대로 표시되어야합니다. 이전 종료가 정상인 경우 " imklog 5.8.1, 로그 소스 = / proc / kmsg 시작 " " 커널 로깅 (proc) 중지 "메시지 가 없어야합니다 . 두 메시지는 항상 로그에서 쌍으로 발생해야합니다.여기에 이미지 설명을 입력하십시오

터미널에 입력하십시오 :-

gedit /var/log/kern.log

종료 및 부팅 로그 쌍을 확인하십시오. 쌍이없는 곳에서 발견되면 종료가 갑자기 발생한 것입니다.


1
gedit를 기본 텍스트 편집기로 바꿉니다.
Vikramjeet

내 kern.log이 비어
Nade

1
@ 네이드 시도 kern.log.1합니다.
다른 벤

2
그 문구들 중 어느 것도 내 기록에 없습니다. 그들 중 일부조차도 아닙니다. 컴퓨터가 제대로 종료되는지 b / c인지 알아야합니다. 전원 버튼을 누르고있는 아이가 있다고 생각합니다.
KI4JGT

Ubunutu 16.04부터는 더 이상 올바르지 않습니다. 즉 cat /var/log/syslog | grep -i "stopped", 이전 종료 메시지의 일부 였음에도 불구하고 나는 (그리고 비슷한. 또한 신성 테스트를 거쳤습니다.) -누구나 업데이트를 받았습니까?
Frank Nocke

4

Ubuntu 16.04부터는 완전히 종료 한 다음 제대로 재부팅하면 / var / log / syslog에이 두 줄이 차례로 기록됩니다.

Mar  9 14:14:06 *YOUR-HOSTNAME* rsyslogd: [origin software="rsyslogd" swVersion="8.16.0" x-pid="1086" x-info="http://www.rsyslog.com"] exiting on signal 15.
Mar  9 15:23:42 *YOUR-HOSTNAME* rsyslogd: [origin software="rsyslogd" swVersion="8.16.0" x-pid="1069" x-info="http://www.rsyslog.com"] start

0

안녕 당신은 마지막 종료가 적절한 지 여부를 확인하기 위해 스크립트를 실행할 수 있습니다. 다음 줄을 bash 스크립트에 넣고 시스템 부팅 후에 실행하십시오.

#!/bin/bash
B="1"
touch data_file
echo $(($(grep -nr "$(cat  /var/log/kern.log | grep "$(date -d $(who -b | awk '{printf $3}') '+%b %-d')" | grep imklog   | grep $(cat  /var/log/kern.log | grep "$(date -d $(who -b | awk '{printf $3}') '+%b %-d')" | grep imklog | cut -d' ' -f3 | sort -k1 -r | sort --unique --stable -k2,3))" /var/log/kern.log | awk '{printf $1}' | grep -oE "[[:digit:]]{1,}")-$B))  >  data_file


if [[

($(sed -n $(cat data_file)p /var/log/kern.log | awk '{print $6}') == "Kernel") && 
($(sed -n $(cat data_file)p /var/log/kern.log | awk '{print $7}') == "logging") &&
($(sed -n $(cat data_file)p /var/log/kern.log | awk '{print $8}') == "(proc)") &&
($(sed -n $(cat data_file)p /var/log/kern.log | awk '{print $9}') == "stopped.") 


]]; then

  echo Last Shutdown-proper

else

   echo Last Shutdown_not proper 

fi

rm data_file

참고 : 스크립트를 실행하려면 루트 사용자 여야합니다. 그것은 당신의 시스템을 해치지 않을 것입니다 :)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.