Logrotate设置:旋转,通过电子邮件发送和添加行到存档日志

问题描述 投票:2回答:1

我在logrotate.conf中有一个不想运行的logrotate设置。我想要做的是: 每天旋转日志并截断日志 通过电子邮件发送日志的旋转线条 将旋转日志的行添加到每月存档 创建olddir旋转/如果它还不存在

我在这里失踪了什么?

(log file path){
    daily
    rotate 0
    olddir rotated
    copytruncate
    nodateext
    missingok
    notifempty
    compress
    mailfirst
    mail email (at) email . com
    prerotate
        original = $1
        replacement = 'rotated'
        olddir_path = "${original/php-error.log/$replacement}"

        mkdir olddir_path
    endscript
    postrotate
        original = $1
        replacement = 'rotated'
        olddir_path = "${original/php-error.log/$replacement}"

        cat "${olddir_path}/php-error.log.1" >> "${olddir_path}/php-error-monthly.log"
    endscript
}
logrotate
1个回答
0
投票

你很高兴“创建olddir旋转/如果它还不存在”。运行logrotate -d /etc/logrotate.conf,我打赌你会得到这样的配置:

错误:/etc/logrotate.conf:验证olddir路径已旋转时出错:没有此类文件或目录

这是因为logrotate读取其配置文件时该目录需要存在;这是在任何prerotate脚本执行之前,因此目录不存在并且解析配置失败。首先制作该目录,但是你首先想要。

© www.soinside.com 2019 - 2024. All rights reserved.