2

我在 logrotate.conf 中有一个不想运行的 logrotate 设置。我想要做的是:

每天轮换日志并截断日志
通过电子邮件向我发送日志
的轮换行将轮换日志的行添加到每月存档
创建 olddirrotated/ 如果它尚不存在

我在这里想念什么?

(日志文件路径){
    日常的
    旋转 0
    olddir 旋转
    复制截断
    节点文本
    失踪的
    通知空
    压缩
    邮件优先
    邮件 电子邮件 (at) 电子邮件。com
    预旋转
        原价 = 1 美元
        替换='旋转'
        olddir_path = "${original/php-error.log/$replacement}"

        mkdir olddir_path
    尾注
    后旋转
        原价 = 1 美元
        替换='旋转'
        olddir_path = "${original/php-error.log/$replacement}"

        猫“${olddir_path}/php-error.log.1”>>“${olddir_path}/php-error-monthly.log”
    尾注
}
4

1 回答 1

0

一直到“创建 olddir 旋转/如果它尚不存在”,您都很棒。运行logrotate -d /etc/logrotate.conf,我敢打赌你会得到类似这样的配置:

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

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

于 2019-03-01T07:45:02.760 回答