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