Dlaczego nowe pliki logów są puste? Apache działa.
Apr 14, 8:33am
Twoja konfiguracja logrotate wygląda poprawnie na pierwszy rzut oka, ale puste nowe pliki logów po rotacji to typowy objaw problemu z sygnałem do Apacha o ponownym otwarciu plików logów po rotacji. Oto najczęstsze przyczyny i rozwiązania:
1. Brakujący postrotate z sygnałem do Apacha
Apache trzyma otwarte uchwyty do plików logów. Po rotacji (przeniesieniu/skompresowaniu starego pliku) Apache nadal pisze do starego uchwytu, a nowy plik pozostaje pusty, ponieważ Apache nie wie, że ma zacząć pisać do nowego.
Rozwiązanie:
Dodaj blok postrotate z komendą systemctl reload apache2 (lub service apache2 reload na starszych systemach):
delaycompress opóźnia kompresję o jedną rotację (np. access.log.1 nie jest kompresowany, dopóki nie powstanie access.log.2).
To nie powoduje pustych plików, ale sprawdź, czy nie masz innych reguł, które mogłyby zakłócać proces.
Czasami logrotate lub Apache zgłaszają tam błędy (np. brak uprawnień, nieznaleziony plik).
Podsumowanie kroków naprawczych
Dodaj postrotate z apache2ctl graceful lub systemctl reload apache2.
Przetestujlogrotate -d i logrotate -vf.
Sprawdź uprawnienia plików logów.
Zweryfikuj logi systemowe pod kątem błędów.
Czy po dodaniu postrotate problem zniknął? Jeśli nie, sprawdź, czy Apache nie używa innej ścieżki do logów (np. przez ErrorLog w konfiguracji wirtualnych hostów).
Apr 14, 8:33am
This is a shared conversation and may include unverified content that doesn't reflect Mistral AI's views. Login to resume chatting.