Obrócić Nginx
dzienniki codziennie (z dateext
). Po rotacji chcę przeanalizować plik dla właśnie minionego dnia i skompilować wiadomość e-mail z liczbą błędów zwróconych przez serwer Nginx.
Jak mogę uzyskać dostęp do pliku wyjściowego w sekcji postrotate / endcript w logrotate
?
Odpowiedzi:
Nie znam żadnych zmiennych, których możesz użyć, jeśli tego właśnie szukasz. Jednak natychmiast po obróceniu dziennika powinieneś dokładnie znać nazwę, do której plik został obrócony w oparciu o konfigurację ustawioną dla obrotu (
/var/log/somefile.1
lub podobną).Być może łatwiej byłoby odpowiedzieć, jeśli opisałeś rzeczywisty problem, który próbujesz rozwiązać?
źródło
Jeśli nie korzystasz z dyrektywy „sharedscripts”, wówczas twój skrypt postrotate otrzymuje, jako 1 $, plik, który uruchomił rotację dziennika. Może to pomóc, jeśli próbujesz użyć ogólnego skryptu z wieloma sekcjami logrotate. To znaczy, biorąc pod uwagę coś takiego:
Jeśli jakieś pasujące pliki muszą zostać obrócone, twój skrypt zostanie wywołany z $ 1 ustawionym na „/var/log/sample1.log”, „/var/log/sample2.log” lub „/var/log/sample3.log „stosownie do przypadku. Następnie możesz dodać „.1”, aby znaleźć właśnie obrócony plik.
Jeśli użyjesz opcji „sharedscripts”, skrypt zostanie wywołany z $ 1 ustawionym na „/var/log/sample1.log /var/log/sample[23].log” (co pomoże ci zidentyfikować konkretną sekcję, ale nie dokładny plik).
Mam nadzieję, że to pozwoli Ci zacząć. Pamiętaj, że będzie to działać tylko w przypadku logrotate> v3.7.5.
źródło