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

Odpowiedź listem elektroniczym