회전 후 로그 파일을 삭제하지 않도록 logrotate를 구성하는 방법은 무엇입니까?


24

이 방법이 있습니까?


왜 이런 일을하고 싶은지 말씀해 주시겠습니까? 다른 옵션이있을 수도 있습니다.
chmeee

필자의 경우 큰 오래된 로그를 외부 저장소에 다운로드하여 서버에 새 로그를 보관하는 것이 좋습니다. 간단한 로그 스플리터가 필요합니다.
sekrett

2
이 구성의 사용 사례는 다음과 같습니다. 감사 목적으로 필요할 수 있으므로 로그를 영원히 유지하고 싶지만 현재 로그가 너무 커지지 않고 회전 된 파일이 될 수 있도록 파일을 회전하고 싶습니다. 압축-그렇지 않으면 외부 서버로의 로그 백업이 너무 어려워 파일 검사도 너무 느려집니다.
Rudolf Mayer

답변:


32

logrotate.conf (또는 등가 logrotate.d 파일)에서 "

rotate 10

(숫자가 다를 수 있음)를 더 큰 숫자로 바꿉니다. 그것은 며칠간의 로그를 유지하도록 알려줄 것입니다. 당신은 그것을 당신에게 100 년 지속 36500 만들 수 있습니다.


6
내가 이것을 라즈베리 파이 (raspian)에서했을 때, 매일 밤 얼어 붙었습니다. 일단 프로세스를 실행하고 직렬 콘솔을 사용하여 파일을 열면 존재하지 않는 100000 개의 파일 이름을 바꾸려고한다는 것을 알았습니다. 그러니 조심하세요. 불행히도 더 자세한 정보는 없습니다
Christian

0

데이터베이스 백업을 매일, 매주, 매월 로테이션하기 위해 이것을 찾고있었습니다. 그래서 나는 매일 파일을 회전하지만 매주 회전하도록 파일을 유지하고 연간 회전과 동일합니다.

복사 옵션을 사용하십시오. 매뉴얼에서 :

copy

copy 로그 파일을 복사하되 원본을 전혀 변경하지 마십시오. 예를 들어이 옵션을 사용하면 현재 로그 파일의 스냅 샷을 만들거나 다른 유틸리티에서 파일을 자르거나 파싱해야 할 때 사용할 수 있습니다. 이 옵션을 사용하면 이전 로그 파일이 그대로 유지되므로 create 옵션이 적용되지 않습니다.


이것은 아래의 설명 ( serverfault.com/a/50186/275485 )과 동일하며 정답을 제공하지는 않습니다. 복사는 회전 된 기존 파일이 삭제되지 않는다는 의미는 아닙니다.
Rudolf Mayer

-3

회전이 삭제되는 점을 제쳐두고 ... ;-)

'copy'라는 단어를 적절한 파일에 추가 할 수있는 것 같습니다 (예 : /etc/logrotate.d). 예를 들어, apache2 logrotate 스크립트는 다음과 같습니다.

/var/log/apache2/*.log {
    주간
    missingok
    회전 52
    압박 붕대
    지연 압축
    공증인
    부
    공유 스크립트
    회전 후
        [-f "`인 경우 / etc / apache2 / envvars; echo $ {APACHE_PID_FILE :-/ var / run / apache2.pid}`"]]; 그때
            /etc/init.d/apache2 reload> / dev / null
        fi
    엔드 스크립트
}

그것을 시도하고 그것이 당신이 원하는 것을하는지보십시오.


2
파일을 "회전"하고 싶지만 이전 파일은 절대 삭제하지 않는다고 가정하면 그렇게하지 않습니다. 구성 스탠자에 "복사"를 추가하면 원본 파일이 계속 커지지 만 결국 파일의 이전 사본이 삭제됩니다. 내가 이해 한 것처럼 "복사"는 다른 프로세스가 원본을 자르거나 삭제할 것으로 예상 할 때 주로 유용합니다.
Insyte

정확히, 내가 그가 생각한 것입니다. 그는 "내 로그 파일의 오래된 아카이브를 삭제하지 않는"방법이 아니라 "내 로그 파일을 삭제하지 않는"방법을 요청했습니다. 나는 단지 주제와 몸이없는 질문에 더 조심해야한다고 생각한다 ;-)
Justin Ellison

2
"회전 후"라는 문구가 실마리를 제공합니다.
추후 공지가있을 때까지 일시 중지되었습니다.

4
"회전이 삭제되는 점을 제쳐두고 ..." 반드시 그런 것은 아닙니다. 회전에는 오래된 로그를 압축하고 유지하는 것이 포함될 수 있습니다. 이는 질문이 요구하는 것입니다.
reflexiv
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.