Настройка logrotate в примерах

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

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

PostgreSQL

vi /etc/logrotate.d/postgresql-common

/var/log/postgresql/*.log {
       daily
       rotate 7
       copytruncate
       compress
       delaycompress
       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

Kannel в CentOS

vi /etc/logrotate.d/kannel

/var/log/kannel/*.log {
        daily
        missingok
        rotate 14
        compress
        delaycompress
        notifempty
        create 640 root root
        postrotate
                /bin/kill -1 `/bin/cat /var/run/kannel/kannel_bearerbox.pid` || true > /dev/null 2> /dev/null
                /bin/kill -1 `/bin/cat /var/run/kannel/kannel_smsbox.pid` || true > /dev/null 2> /dev/null
        endscript
}

logrotate -f /etc/logrotate.d/kannel

Сервер DHCP

vi /etc/logrotate.d/dhcp

/var/log/dhcp.log {
    daily
    rotate 10
    missingok
    notifempty
    compress
    delaycompress
    sharedscripts
    create 0600 root root
    postrotate
        /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
    endscript
}

logrotate -f /etc/logrotate.d/dhcp