rotação do log do servidor host nginx todos os sites

1

Eu configurei arquivos de log individuais para cada um dos meus sites no diretório

/var/log/nginx-hosts/

e eu tenho que configurar a rotação de log para esses arquivos. A base que eu estou começando é

/var/log/nginx-hosts/*.log {
    rotate 7
    daily
    missingok
    notifempty
    sharedscripts
    copytruncate
    compress
}

no entanto, assim como o apache, parece que o nginx tem que ser desligado antes da rotação para realmente truncá-los. A configuração atual do logrotate nginx é:

/var/log/nginx/*.log {
        daily
        missingok
        rotate 52
        compress
        delaycompress
        notifempty
        create 0640 www-data adm
        sharedscripts
        prerotate
                if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
                        run-parts /etc/logrotate.d/httpd-prerotate; \
                fi; \
        endscript
        postrotate
                [ ! -f /var/run/nginx.pid ] || kill -USR1 'cat /var/run/nginx.pid'
        endscript
}

devo incorporar a rotação de log do site individual no primário ou trabalhar para descobrir a primeira configuração em um arquivo diferente. pensamentos? ideias?

obrigado pela sua ajuda e boas festas.

    
por Chris Hough 30.11.2011 / 17:15

1 resposta

1

depois de pesquisar mais, veja como resolvi este problema:

/var/log/nginx-hosts/*.access{
        weekly
        missingok
        rotate 20
        compress
        dateext
        notifempty
        create 0640 www-data adm
        sharedscripts
        sharedscripts
        prerotate
                if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
                        run-parts /etc/logrotate.d/httpd-prerotate; \
                fi; \
        endscript
        postrotate
                [ ! -f /var/run/nginx.pid ] || kill -USR1 'cat /var/run/nginx.pid'
        endscript
}
/var/log/nginx-hosts/*.error{
        weekly
        missingok
        rotate 20
        compress
        dateext
        notifempty
        create 0640 www-data adm
        sharedscripts
        sharedscripts
        prerotate
                if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
                        run-parts /etc/logrotate.d/httpd-prerotate; \
                fi; \
        endscript
        postrotate
                [ ! -f /var/run/nginx.pid ] || kill -USR1 'cat /var/run/nginx.pid'
        endscript
}
    
por 01.12.2011 / 03:50