Logrotate는 압축하지 않습니다

Logrotate는 압축하지 않습니다

var/log/remots/*/*다음 logrotate 규칙을 사용하여 파일을 압축해야 합니다.

/var/log/remots/*/* {
    rotate 178
    daily
    maxage 178
    compress
}

에 누워있다 /etc/logrotate.d/remots.

나는 또한 다음과 같은 스크립트를 작성했습니다.

cp rsyslog.conf /etc/rsyslog.conf
cp 10-remot.conf /etc/rsyslog.d/10-remot.conf
cp remots /etc/logrotate.d/remots

./rpgp.sh perms.txt

service rsyslog restart

그러나 강제로 logrotate를 실행하면 sudo logrotate -­d ­­--force /etc/logrotate.d/remots로그는 여전히 압축되지 않은 일반 텍스트입니다. 출력은 많은 메시지와 유사합니다.

renaming /var/log/remots/GSX/2019-03-25.2.gz to /var/log/remots/GSX/2019-03-25.3.gz (rotatecount 178, logstart 1, i 2)
renaming /var/log/remots/GSX/2019-03-25.1.gz to /var/log/remots/GSX/2019-03-25.2.gz (rotatecount 178, logstart 1, i 1),
renaming /var/log/remots/GSX/2019-03-25.0.gz to /var/log/remots/GSX/2019-03-25.1.gz (rotatecount 178, logstart 1, i 0),

마침내

/var/log/remots/GSX/2019-03-25.179.gz doesnt' exist -- wont't you try to dispose of it
renaming /var/log/remots/GSX/2019-03-25 to /var/log/remots/GSX(2019-03-25.1
compressing log with: /bin/gzip

PD:10-remots.conf는 다음과 같습니다.

$template GuardaRemots, "/var/log/remots/%HOSTNAME%/%timegenerated:1:10:date-rfc3339%"
:source, !isequal, "localhost" -? GuardaRemots

rsyslog.conf는 단순히 UDP 포트 514에서 수신하도록 구성됩니다.

답변1

내가 본 것에서 logrotate가 혼란스러워지고 있습니다. 첫째, 이름 패턴을 더욱 엄격하게 관리해야 합니다. /var/log/remots/*/*회전하는 대신 회전해야 합니다.

/var/log/remots/*/*.log {
    rotate 178
    daily
    maxage 178
    compress
}

구성을 변경할 때 /var/lib/logrotate/status.delete 파일의 모든 항목을 확인해야 합니다 .*gz.


자체 로그를 회전하는 프로그램과 logrotate를 혼합하는 것은 덜 일반적입니다. 오래된 로그 파일에 쓰도록 rsyslog를 구성했습니다. 정적 파일 이름을 사용하고 logrotate가 날짜를 추가하도록 허용하는 것이 더 일반적입니다. 다른 사람들도 동일한 유형의 설정에 문제가 있음을 확인했습니다. https://stackoverflow.com/questions/8962477/logrotate-files-with-date-in-the-file-name

이 기능을 구성하는 더 쉬운 방법은 "remots"(rsyslog) 로그를 정적 위치에 기록하는 것입니다. 예를 들면 다음과 같습니다.

$template GuardaRemots, "/var/log/remots/%HOSTNAME%.log"
:source, !isequal, "localhost" -? GuardaRemots

그런 다음 회전합니다.

/var/log/remots/*.log {
    rotate 178
    daily
    maxage 178
    compress
}

Logrotate는 회전할 때 자동으로 날짜를 추가합니다.

관련 정보