我在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 }
答案 0 :(得分:0)
您一直很高兴,直到“创建olddir旋转/如果还不存在”。运行logrotate -d /etc/logrotate.conf
,我敢打赌,对于该配置,您会得到类似以下的信息:
错误:/etc/logrotate.conf:验证olddir路径旋转时出错:没有这样的文件或目录
这是因为在logrotate读取其配置文件时该目录必须存在 ;这是在执行任何预旋转脚本之前执行的,因此自然会导致该目录不存在并且解析配置失败。首先创建该目录,但是首先要创建。