Busybox-syslog에는 시작 전 초기 시작 로그가 없습니다.

Busybox-syslog에는 시작 전 초기 시작 로그가 없습니다.

문제: syslogd가 시작되기 전에 발생하는 커널 로그가 내 syslog에 추가되지 않습니다.

시스템 설명: 부팅 순서가 시작되고 약 5초 후에 syslogd가 시작됩니다. 부팅 시퀀스 중 약 2초 동안 실행되는 스크립트가 /dev/kmesg에 첨부되어 있습니다. syslogd가 시작되기 전에 실행됩니다.

커널 로그를 syslog로 보내기 위해 klogd를 실행 중인데, syslogd가 시작된 후에 발생한 커널 로그만 보냅니다.

스크립트가 실행 중일 때 syslogd가 시작되지 않기 때문에 syslog의 스크립트에서 커널 로그가 누락되었습니다.

시스템 로그에서 5초 후에 모든 커널 로그를 볼 수 있습니다. 부팅 후 5초 후에 /dev/kmsg에 추가하면 syslog로 이동하는 로그가 표시됩니다.

내 /etc/syslog.conf에는 다음과 같이 syslog에 들어가도록 모든 것이 구성되어 있습니다.

./경로/to/syslog

klogd가 실행된 후 /dev/kmsg에 추가되는 내용뿐만 아니라 kmsg 링 버퍼의 기존 내용을 syslog에 기록하도록 klogd가 필요합니다. 어떻게 해야 하나요?

답변1

일단 시작되면 klogd두 번째 사본을 실행하십시오.원샷 모드( klogd -o). 커널 메시지 버퍼에 있는 기존 메시지를 읽고 처리한 다음 종료됩니다.

첫 번째 장기 인스턴스를 시작하면 klogd메시지가 손실되지 않는지 확인해야 합니다.

이 작업을 수행할 수 없는 경우(예: 매우 오래된 버전 klogd또는 busybox유사한 임베디드 시스템 툴킷의 버전이 있는 경우) 다음을 수행할 수 있습니다.

if [ -e /var/log/dmesg.boot ]; then
    mv /var/log/dmesg.boot /var/log/dmesg.prevboot
fi
dmesg > /var/log/dmesg.boot

루트 파일 시스템에 쓰기가 가능해지면?

관련 정보