nginx i problemy z logrotate

Arkadiusz Miśkiewicz arekm w maven.pl
Wto, 7 Wrz 2021, 13:30:59 CEST


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 )


Więcej informacji o liście pld-users-pl