logrotate가 삭제하기 전에 오래된 로그 파일을 전송하세요.

logrotate가 삭제하기 전에 오래된 로그 파일을 전송하세요.

내 서버에서 Debian Stretch를 사용하고 있습니다. 관련 부분은 다음과 같습니다 etc/logrotate.d/rsyslog.

/var/log/mail.info
/var/log/mail.warn
/var/log/mail.err
/var/log/mail.log
{
        rotate 4
        weekly
        missingok
        notifempty
        compress
        delaycompress
        sharedscripts
        postrotate
                invoke-rc.d rsyslog rotate > /dev/null
        endscript
}

로그 파일이 4개일 경우 mail.log가장 오래된 파일이 삭제됩니다. 괜찮습니다만 파일을 삭제하기 전에 scp를 통해 원격 서버로 파일을 전송하고 싶습니다.

어떻게 해야 하나요?

감사해요!

답변1

블록 하나로 prerotate가능합니다. 가장 간단한 형태는

prerotate
   scp mail.log.4.gz user@remotehost:
endscript

관련 정보