우리는 오래된 centos 5.11 서버를 가지고 있습니다. 파일 시스템은 ext3이므로 변경할 수 없습니다.
단일 파일(대용량 로그 파일)에 대해 실시간 압축을 수행할 수 있습니까?
zram: 저장소에서 찾을 수 없습니다...
클롭을 사용할 수 있나요?
답변1
분명히 cloop 장치는 읽기 전용입니다.그럼에도 불구하고 사용자 정의 커널 모듈을 구축해야 합니다.
zram은 버전 3.14부터 시작하는 표준 커널에서만 사용할 수 있으므로 Centos 5.x의 표준 커널 버전 2.6.18은 너무 오래되었습니다.
정말 그럴 것 같아XY 문제: 대용량 로그 파일을 생성한 프로그램을 확인하고 이에 대한 처리 방법을 문의해야 할 것입니다.
대용량 로그 파일에 대한 보다 일반적인 솔루션은 로그 파일 회전입니다. 즉, 로그 파일의 기존 내용을 다른 곳에 복사하고 복사가 완료되자마자 활성 로그 파일을 자르는 것입니다. 로그를 생성하는 프로그램이 fseek(file, 0L, SEEK_END)
각각의 새 로그 항목을 쓰기 전에 동등한 작업을 수행하는 경우 로그는 문제 없이 잘릴 수 있습니다.
그러나 프로그램이 로그 파일의 마지막 쓰기 위치를 기억하고 마지막 쓰기 작업 이후 파일이 변경되지 않았다고 가정하고 명시적으로 해당 위치를 찾는 경우 즉시 다음 데모를 볼 수 있습니다.부족한POSIX 호환 파일 시스템의 파일: 잘린 부분이 다시 나타나고 0바이트로 채워집니다. 그러나 이러한 바이트는 실제 디스크 공간을 차지하지 않습니다.
일반적으로 장기 작업용으로 설계된 많은 애플리케이션은 로그 파일의 즉각적인 자르기를 허용하거나 로그 파일 회전을 위한 메커니즘이 내장되어 있습니다. 예를 들어 일부 응용 프로그램은 특정 신호를 받으면 로그 파일을 닫았다가 다시 엽니다.
CentOS 5.x에는 logrotate
표준 구성의 일부로 도구도 있습니다. 회전하려는 로그 파일과 원하는 회전 일정(매일, 매주 등)을 식별하는 구성 파일을 넣으면 /etc/logrotate.d
다음 작업이 수행됩니다. .