Примеры настроек logrotate для различных программ

Обновлено Обновлено: Опубликовано Опубликовано:

Подробнее о настройке Logrotate.

PostgreSQL

vi /etc/logrotate.d/postgresql-common

/var/log/postgresql/*.log {
       daily
       rotate 7
       copytruncate
       delaycompress
       compress
       notifempty
       missingok
       su root root
}

logrotate -f /etc/logrotate.d/postgresql-common

PHP-FPM

vi /etc/logrotate.d/php-fpm

/var/log/php-fpm/*.log {
    rotate 14
    missingok
    notifempty
    sharedscripts
    compress
    maxage 14
    postrotate
        /bin/kill -SIGUSR1 `cat /var/run/php-fpm/php-fpm.pid 2>/dev/null` 2>/dev/null || true
    endscript
}

logrotate -f /etc/logrotate.d/php-fpm

Logstash-forwarder

vi /etc/logrotate.d/logstash

/var/log/logstash-forwarder/*.log {
    rotate 30
    size=10M
    missingok
    notifempty
    daily
    compress
    maxage 30
    postrotate
        (/usr/bin/systemctl restart logstash-forwarder || /sbin/service logstash-forwarder restart) > /dev/null 2>&1
    endscript
}

/var/log/logstash-forwarder/*.err {
    rotate 30
    size=10M
    missingok
    notifempty
    daily
    compress
    maxage 30
    postrotate
        (/usr/bin/systemctl restart logstash-forwarder || /sbin/service logstash-forwarder restart) > /dev/null 2>&1
    endscript
}

logrotate -f /etc/logrotate.d/logstash

NGINX

vi /etc/logrotate.d/nginx

/var/log/nginx/*.log {
        daily
        missingok
        rotate 14
        compress
        delaycompress
        notifempty
        create 0640 nginx nginx
        sharedscripts
        prerotate
                if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
                        run-parts /etc/logrotate.d/httpd-prerotate; \
                fi \
        endscript
        postrotate
                invoke-rc.d nginx rotate >/dev/null 2>&1
        endscript
}

logrotate -f /etc/logrotate.d/nginx

Apache (httpd)

vi /etc/logrotate.d/apache2

/var/log/apache2/*.log {
        daily
        missingok
        rotate 14
        compress
        delaycompress
        notifempty
        create 640 www-data www-data
        sharedscripts
        postrotate
                if /etc/init.d/apache2 status > /dev/null ; then \
                    /etc/init.d/apache2 reload > /dev/null; \
                fi;
        endscript
        prerotate
                if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
                        run-parts /etc/logrotate.d/httpd-prerotate; \
                fi; \
        endscript
}

logrotate -f /etc/logrotate.d/apache2

# UNIX
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет