시스템 로그 파일이 너무 커서 루트 파티션에 디스크 공간이 부족합니다.

시스템 로그 파일이 너무 커서 루트 파티션에 디스크 공간이 부족합니다.

이는 rsync를 사용하여 전체 드라이브를 백업할 때 발생합니다. 두 개의 대용량 하드 드라이브를 백업으로 동기화하려고 하는데 정확히 같은 작업을 수행하고 있습니다.Grsync GUI를 사용하여 여기에 설명되어 있습니다.. 이 작업을 수행하는 동안 다음과 같은 KDE 알림을 받습니다:

Low Disk Space
Your Root partition is running out of disk space, you have 0 MiB remaining (0%). 

로그 파일이 너무 큰 문제는 거의 발생하지 않으므로 문제는 백업 실행과 관련된 것 같습니다.

->로그 파일이 너무 커져서 루트 파티션이 가득 차는 것을 방지하는 방법은 무엇입니까? 적어도 백업이 실행되는 동안에는 가능합니다.

예를 들어, 카운터를 반복하거나 더 의미 있고 유용하며 체계적인 방식으로 중복 메시지를 등록하는 대신 동일한 메시지를 반복해서 기록하는 것을 방지하는 방법은 무엇입니까?


아래 세부정보를 읽을 필요가 없을 수도 있습니다.

나는 다음과 같이 이 문제를 해결했습니다.

  • "그래픽 디스크 맵" 응용 프로그램을 실행하여 무엇이 이 디스크 공간을 모두 차지하고 있는지 알아보세요.
  • 세 개의 파일이 , 및 에 있는 것으로 확인되었습니다 /var/log/.syslogkern.logmessages
  • 다음과 같이 로그 파일을 백업하십시오.sudo cp /var/log/syslog /externalBackupFolder/syslog
  • 다음과 같이 대용량 로그 파일을 비웁니다.sudo truncate -s 0 /var/log/syslog

어쩌면 이것은 너무 자세하거나 별도의 질문이어야 할 수도 있지만 계속해서 나타나는 오류는 주로 다음과 같습니다(어쩌면 이것은 내 문제와 관련이 있고 단순히데비안에서 작동하는 시계):

kernel: [id] usb 1-11: 1:1: cannot get freq (v2/v3): err -71
kernel: [id] usb 1-11: 1:1: cannot set freq 48000 (v2/v3): err -71
kernel: [id] usb 1-11: uac_clock_source_is_valid(): cannot get clock validity for id 40
kernel: [id] usb 1-11: clock source 40 is not valid, cannot use
kernel: [id] usb 1-11: 1:1: cannot get freq (v2/v3): err -71
...

중간에 중복된 메시지가 많은 블록이 여러 개 있습니다.

pulseaudio[id]: Failed to set hardware parameters: Protocol error

로그 파일의 최신 부분에서 기본 파일 내용이 다음 오류로 변경됩니다.

postfix/pickup[id]: id1: uid=0 from=<root>
postfix/cleanup[id]: id1: message-id=<id0.id1@hostname>
postfix/cleanup[id]: warning: id1: write queue file: No space left on device
postfix/pickup[id]: warning: maildrop/id3: error writing id1: queue file write error

답변1

로그를 유지/삭제하기 위해 logrotate를 사용합니까? 그렇지 않은 경우 디스크 공간 문제 파일을 관리하기 위해 이 방법을 시도해 보는 것이 좋습니다.

답변2

또 다른 제안은 다음과 같이 syslog 구성 파일을 변경하는 것입니다.

  1. 오류 수준 이상을 기록하는 로그 메시지 변경
  2. 해당 특정 수준에서 특정 흐르는 메시지의 카테고리를 찾습니다.

변경한 경우 syslog 서비스를 다시 시작해야 합니다.

또 다른 제안: 시스템 디스크의 전체 fsck를 수행한 지 얼마나 되었습니까? 다른 파일 시스템에서 ext3/4(sudo touch /forcefsck)를 가정하면 다음 재부팅 시 fsck를 강제로 실행하는 방법이 있습니다. 때로는 숨겨진 조각들이 거기에 배치되어 상당한 공간을 차지하기도 합니다.

관련 정보