시스템의 전원이 갑자기 꺼지기 전에 syslog가 최대한 많은 로그를 캡처하도록 하는 방법

시스템의 전원이 갑자기 꺼지기 전에 syslog가 최대한 많은 로그를 캡처하도록 하는 방법

시스템이 갑자기 종료되기 전에 syslog파일( )이 가능한 최신 로그를 캡처하지 못하는 것 같습니다 . /var/log/messages(내 Linux 시스템이 실행 중이었는데 갑자기 전원이 꺼졌습니다.) syslog갑자기 종료되기 전에 가능한 최대 로그가 캡처되도록 하려면 어떻게 해야 합니까?

답변1

후기입 캐싱 및 시간 초과를 최소화하거나 비활성화합니다.

/proc/sys/vm/dirty_background_ratio
dirty_ratio
dirty_expire_centisecs
dirty_writeback_centisecs

답변2

시스템이 충돌할 수 있는 방법에는 두 가지가 있습니다.

  1. 정상적인 종료: 이 경우 시스템에서 실행 중인 모든 프로세스는 종료되기 전에 버퍼를 디스크에 플러시하여 일부 로그를 작성할 기회를 갖습니다. 이 경우에는 /var/log/messages다음과 같은 내용을 볼 수 있습니다.

    kernel: Kernel logging (proc) stopped.

    rsyslogd: exiting on signal 15.

  2. filesystem갑작스러운 종료: 이 시점에서 애플리케이션은 로그에 쓰거나 데이터를 디스크에 플러시할 기회가 없습니다 . 그러나 이것이 직면한 상황이라면 예를 들어 HDD , SSD and power supply [ for any unwanted fluctuations ]문제를 효과적으로 디버깅하기 위해 시스템 하드웨어를 확인하는 것이 좋습니다.

그러나 수단적으로 데이터는 캐시에서 디스크로 유지되는 경우가 많습니다. sync파일 시스템 버퍼를 플러시하는 명령을 주기적으로 실행해 볼 수 있습니다 . 더 많은 결제를 원하시면man sync

답변3

시스템에서 rsyslog 이전 형식을 사용 /etc/rsyslog.conf하고 다음과 같은 줄을 사용하는 경우

*.=info;...  -/var/log/messages

-파일 이름 앞의 접두사를 제거하면 syslog가 각 쓰기 후에 파일을 동기화하게 됩니다. 바라보다일반 파일.

관련 정보