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
_______________________________________________
pld-devel-pl mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl