在 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
}

当 的日志文件有四个后mail.log,最旧的文件将被删除。这很好,但我想在删除文件之前通过 scp 将文件传输到远程服务器。

我该怎么办呢?

谢谢!

答案1

一个prerotate块就可以做到这一点。最简单的形式是

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

相关内容