nginx i problemy z logrotate
Jacek Konieczny
jajcus at jajcus.net
Tue Sep 7 14:36:44 CEST 2021
On 07/09/2021 12:36, Jacek Osiecki wrote:
> Odpalenie „service nginx reload” bez słowa magicznie przywraca nginxowi moc zapisywania do logów… no ale nie o to chyba chodzi :-/
Jeśli masz systemd (a dziś raczej każdy powinien mieć), to 'service
nginx reload' woła 'systemctl reload nginx.service'
A konfig logrotate ma coś innego:
>
> 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 ]
'service nginx reopen-logs' nie ma odpowiednika systemctl, więc wołany
jest '/etc/rc.d/init.d/nginx reopen-logs', czyli skrypt, który pewnie
zakłada, że nginx nie był odpalany przez systemd.
Jeśli to to, to jeden ze skutków ubocznych utrzymywania na siłę skryptów
init.d
Trzeba albo poprawić init.d/nginx, albo w konfigu logrotate zmienić
polecenie na takie, które zadziała w obu przypadkach (init.d i systemd).
Jacek
More information about the pld-devel-pl
mailing list