Linux에서 종료를 기록하는 로그가 있습니까?


37

Linux에 컴퓨터가 종료 될 때마다 기록되는 로그 파일이 있는지 궁금합니다.

내가 묻는 이유는 특정 조건에서 랩톱 배터리의 지속 시간과 관련된 몇 가지 테스트를 수행하기 때문입니다. 약 10 분의 배터리 전원이 남아있을 때 랩탑이 자동으로 종료되도록 구성되어 있으므로 컴퓨터를 종료 할 때 기록 할 수있는 로그 파일이 있으면 테스트가 훨씬 쉬워집니다.

우분투 10.04를 실행 중입니다. 감사!

답변:


14

/var/log/messages파일이 정말 인스턴스 광산 그것에 중단에 관한 무언가를해야한다 (CentOS는 5)이 같은 라인을 가지고 :

Jul 18 23:00:13 nero shutdown[2649]: shutting down for system halt
...
Jul 18 23:00:27 nero kernel: Kernel logging (proc) stopped.
Jul 18 23:00:27 nero kernel: Kernel log daemon terminating.

확인 당신 /etc/syslog.conf이나 /etc/rsyslog.conf또는 로그가 예정되어 있는지 확인 동일합니다. 로그 파일을 읽으려면 루트 권한이 필요할 것입니다.

또한 자체적으로 종료되지는 않지만 "last"명령은 재부팅을보고해야합니다.

마지막으로 셧다운 할 때 로그에 전혀 아무것도 없습니까?

테스트를 위해 컴퓨터는 배터리가보고하는 정보로 인해 10 분 남았음을 알고 있음을 명심하십시오.이 정보는 정확하거나 정확하지 않을 수 있습니다. 종료를 기다리지 않고 ACPI 정보를 직접 볼 수 있습니다. 내 노트북에는 다음이 있습니다.

/proc/acpi/battery/BAT0/

거기에서 "state"와 "info"파일은 흥미로워 보인다. 다양한 조건에서 랩톱을 실행하는 동안 상태 파일의 남은 용량을보고 얼마나 빨리 떨어지는 지 확인할 수 있습니다.


3
빠진 경우가 아니면 / var / log / messages에 "shuting down"메시지가 표시되지 않습니다. "커널 로깅 (proc) 중지"메시지가 나타나는 경우도 있지만 항상 그런 것은 아닙니다. 그러나 last -x작동합니다. 이 명령은 다음과 같은 줄을 표시합니다 shutdown system down 2.6.32-23-generi Sun Jul 25 09:12 - 19:00 (-14815+-13: . 배터리 정보 팁 감사합니다. 내 시스템 에도이 기능이 있으므로 이것을 확인해야합니다! 5 초마다 이러한 파일을 업데이트하는 것 같습니다. 감사!
Michael

다시 감사합니다. 내 결과는 여기에 있습니다 : mangstacular.blogspot.com/2010/07/…
Michael


5

먼저, 이것이 오래된 스레드라는 것을 말하면서 시작하겠습니다. 나는 그물을 찌르는 동안 이것을 발견하는 다른 사람들 (오늘 내가했던 것처럼)이 명확한 대답을 얻을 수 있도록 언급 만합니다.

둘째, 다음 명령은 잘못된 습관이며 "고용이없는 고양이 사용"(Google 검색) 범주에 속합니다.

cat /var/log/messages | grep "`LC_ALL=en_en.utf8 date +"%b %e"`"

해당 줄은 다음과 같이 변경해야합니다.

grep "`LC_ALL=en_en.utf8 date +"%b %e"`" /var/log/messages

grep 및 그 문제에 대한 대부분의 유닉스 / 리눅스 명령 (sed, awk 등 ...)은 cat이 파일 내용을 읽을 필요가 없습니다. 명령 뒤에 파일 경로와 이름을 넣어서 인수로 전달하면됩니다. 파이프와 다른 외부 명령 (고양이)을 추가하면 시간과 자원이 낭비됩니다.

마지막으로, 시스템 종료 및 / 또는 재부팅 기록을 찾을 수있는 곳은 마지막 명령을 그대로 사용하십시오. 모든 로그인 / 로그 아웃 항목에 대한 / var / log / wtmp 로그 파일을 읽습니다. 시스템 종료 및 재부팅은 실제로 시스템 수준의 로그인 / 로그 아웃 이벤트이므로 여기에 기록됩니다. 루트 콘솔 종료에도 동일하게 적용되며 이는 로그 아웃 이벤트입니다.

예:

last -5 reboot shutdown root

그러면 wtmp 로그에 마지막 5 개의 재부팅, 종료 및 루트 (콘솔 종료 포함) 항목이 제공됩니다.

결과:

reboot    ~                         Mon Mar 23 14:51
shutdown  ~                         Mon Mar 23 14:49
root      console                   Mon Mar 23 14:49 - shutdown  (00:00)
reboot    ~                         Mon Mar 16 09:54
shutdown  ~                         Thu Mar 12 17:41

나는 이것이이 스레드를 우연히 발견하는 사람에게 도움이되기를 바랍니다. :-)


또는 간단히 last -x또는 last -F -R -x runlevel. Ubuntu에서 배터리 모니터링을 grep hooks /var/log/pm-suspend.log위해 일시 ​​중단 및 재개를 표시하는 데 유용 할 수도 있습니다. 불행히도 pm-powersave.log는 AC 전원이 연결된 시간을 저장하지 않습니다 (자신의 후크를 추가하지 않는 한). help.ubuntu.com/community/PowerManagement/ReducedPower를 읽어보십시오.
Cedric Knight

UUoC와 관련하여 $ CPU 시간 << $ Brain 시간 ...
MikeP

1
"고양이의 쓸모없는 사용"을 언급하는 각 사람은 아마도 지구상의 모든 컴퓨터에서 고양이의 쓸모없는 사용에 소비하는 총 CPU 시간보다 사실을 지적하는 데 더 많은 시간을 보내고있을 것입니다. -이것처럼)
ndemou

4

/ var / log / messages 파일에는이 정보가 포함되어야합니다


해당 파일에서 종료와 관련된 것을 보지 못했습니다. :( 컴퓨터를 종료 한 시간의 타임 스탬프를 사용하여 해당 디렉토리의 다른 모든 파일을 가져 오려고했지만 운이 없습니다.grep -r "Jul 24 14:" /var/log/*
Michael

파일은 리눅스 민트 메이트 17에 존재하지 않습니다.
Eric Wang

2

과거에 컴퓨터가 얼마나 오래 작동했는지 추적하려면 가동 시간과 같은 것을 사용할 수 있습니다.

uprecords라는 프로그램이 제공되어 컴퓨터 사용 시간을 보여줍니다.


1

다음은 현재 날짜의 모든 메시지를 나열하는 하나의 라이너입니다.

cat /var/log/messages | grep "`LC_ALL=en_en.utf8 date +"%b %e"`"

이것은 CentOS에서 테스트되었으므로 YMMV입니다.

물론이 last rebootlast shutdown(언급 한 바와 같이), 그러나 이것은 내 요구 (날짜 만 제공) 너무 간단합니다.


1

last reboot CentOS 6.7에서 나를 위해 일했습니다.

출력에 연도를 표시하려면 1 년 이상의 기록이있는 경우 실제로 의미가 있습니다.

last -F reboot

Solaris와 같은 일부 시스템에서는 -F 스위치가 작동하지 않는다고 생각합니다. 그래도 GNU의 마지막 부분입니다.

https://unix.stackexchange.com/a/97597/174520 덕분에


0

로그가 없으면 'date >> mylog'를 종료 스크립트에 추가하려고 할 수 있습니다 (일부 지역에서는 rc.shutdown이라고 함)

또는 사전 요구가없는 방법도 있습니다. 운영:

while [ 1 ];do sleep 5;date>mylog;sync;done

다음 세션에서 꼬리 mylog.

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