W dniu 07.09.2021 o 12:36, Jacek Osiecki pisze:
> Cześć,
> 
> na jednym z vserverów mam dziwny problem z logami nginxa i logrotate.
> mam ustawione logrotate na daily, w cronie odpalany jest o 5 rano.
> 
> I wszystko pięknie, idzie logrotate, logi trafiają do /var/log/archive/nginx/ 
> z odpowiednią datą, tworzone są nowe logi.
> No i to tyle jeśli chodzi o „pięknie” - bo nginx nic do tych nowych logów nie 
> zapisuje. Ot tak, po prostu są sobie puste.
> 
> Odpalenie „service nginx reload” bez słowa magicznie przywraca nginxowi moc 
> zapisywania do logów… no ale nie o to chyba chodzi :-/
> 
> Skrypt nginx dla logrotate jest praktycznie standardowy:
> 
> /var/log/nginx/*.log {
>       olddir /var/log/archive/nginx
>       create 644 nginx nginx
>       sharedscripts
>       postrotate
>               date >> /var/log/rotate.nginx.log
>               /sbin/service nginx reopen-logs >> /var/log/rotate.nginx.log
>       endscript
> }
> 
> Specjalnie dodałem to rotate.nginx.logs żeby sprawdzić czy on czegoś nie 
> wywala… ale nie - jest tam standard:
> 
> Tue Sep  7 05:02:01 CEST 2021
> Reopening nginx logs...............................................[ DONE ]
> 
> Jakieś pomysły - jak to diagnozować, czego szukać? Nginx w najnowszej wersji, 
> jakby co…

# Tell nginx to reopen logs
# http://nginx.org/en/docs/control.html#logs
reopen_logs() {
        local oldbin_pidfile="${pidfile}.oldbin"

        if [ -f $oldbin_pidfile ]; then
                show "Reopening $svname (oldbin) logs"
                killproc -p $oldbin_pidfile $prog -USR1
        fi

        show "Reopening $svname logs"
        killproc -p $pidfile $prog -USR1
}

czyli -USR1 na główny pid powinno wymusić reopen logów - działa
puszczenie USR1 z palca?


-- 
Arkadiusz Miśkiewicz, arekm / ( maven.pl | pld-linux.org )
_______________________________________________
pld-users-pl mailing list
pld-users-pl@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-users-pl

Odpowiedź listem elektroniczym