CentOS 8 的等效 logrotate 脚本应该是什么

CentOS 8 的等效 logrotate 脚本应该是什么

我在 Ubuntu 服务器上有一个用于存储一些日志文件的 logrotate 脚本。脚本如下。

/home/*/logs/*log {
        su root root
        notifempty
        daily
        rotate 7
        compress
        sharedscripts
        postrotate
                if [ -f "`. /etc/apache2/envvars ; echo ${APACHE_PID_FILE:-/var/run/apache2.pid}`" ]; then
                        /etc/init.d/apache2 reload > /dev/null
                fi
        endscript
}

现在我想在我的 CentOS 8 服务器中实现相同的脚本。在这里我不明白这些线的价值是多少

if [ -f "`. /etc/apache2/envvars ; echo ${APACHE_PID_FILE:-/var/run/apache2.pid}`" ]; then
        /etc/init.d/apache2 reload > /dev/null
fi

答案1

我建议你使用 CentOS 基本httpd包中使用的内容httpd.logrotate

/var/log/httpd/*log {
    missingok
    notifempty
    sharedscripts
    delaycompress
    postrotate
        /bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true
    endscript
}

(此外,我建议您不要将 /home 用作存储网站的地方。我想除非您关闭 SELinux,否则几乎所有东西都会崩溃?这就是原因。除此之外,您的配方将为每个恰好拥有带有日志目录的主目录的用户压缩日志。我想如果您只有网站用户......)

相关内容