możesz przejść i zobaczyć, które deskryptory plików otworzył proces ... Może spróbuj wyjaśnić, jaki dokładnie masz problem? Czy próbujesz debugować własne skrypty? Wydajność domyślnych / zewnętrznych skryptów?
Hubert Kario
Odpowiedzi:
55
cat /var/lib/logrotate/status
Aby sprawdzić, czy konkretny dziennik rzeczywiście się obraca, czy nie, i sprawdzić ostatnią datę i godzinę jego obrotu, sprawdź plik / var / lib / logrotate / status. Jest to starannie sformatowany plik zawierający nazwę pliku dziennika i datę jego ostatniej rotacji.
Biorąc pod uwagę Ubuntu, cat /var/lib/logrotate/status pokazuje tylko aktywność logrotate zainicjowaną przez użytkownika root . Cronjobs innych użytkowników mogą wyzwalać własną aktywność logrotate, np. Gdy ich crontab zawiera wpis taki jak 0 0 * * * /usr/sbin/logrotate $HOME/logrotate/logrotate.conf --state $HOME/logrotate/logrotate-state. Ta aktywność logrotate zostałaby zapisana do pliku $HOME/logrotate/logrotate-state, $HOMEbędąc katalogiem domowym tego użytkownika.
Abdull
W jeszcze nowszych systemach RedHat (przynajmniej w RHEL 7.6) plik statusu znajduje się teraz w /var/lib/logrotate/logrotate.status.
Richlv
13
Możesz spróbować uruchomić program logrotate w trybie debugowania lub pełnego:
-d Turns on debug mode and implies -v. In debug mode, no changes
will be made to the logs or to the logrotate state file.
-v, --verbose
Display messages during rotation.
@dude: Jeśli próbujesz to zrobić z wiersza poleceń i otrzymujesz ten błąd, musisz to zrobić w następujący sposób: sudo logrotate -v /etc/logrotate.conf 2>&1 | sudo tee -a /var/log/logrotate.log >/dev/null(upewnij się , że masz -a).
Dennis Williamson,
@Dennis, gdy próbuję tego, mimo że tworzy plik logrotate.log, ale ma on 0 KB, a proces nie zatrzymuje się na terminalu i czeka z migającym kursorem.
AWS AMI Linux ma taką samą strukturę statusu logrotate
Victor Perov
5
Różne dzienniki są obracane na różnych częstotliwościach w oparciu o plik konfiguracyjny (/etc/logrotate.conf) i / lub katalog (/etc/logrotate.d). Nazwy mogą się różnić w zależności od dystrybucji. Konfiguracja może określać działania przed i / lub po rotacji. Nazwy obróconych plików i data ostatniego obrotu znajdują się w pliku stanu (/ var / lib / logrotate / state).
Logrotate nie ma możliwości logowania. Inicjowane przez niego operacje ponownego ładowania / restartowania będą rejestrowane zgodnie z rejestracją dla programu, na którym działa.
Najłatwiejszym sposobem na dokonanie tego jest edycja /etc/cron.daily/logrotatezawierająca -vopcję. Szczegółowe informacje na temat konfiguracji i opcji logrotate można znaleźć w poleceniu man logrotate.
Odpowiedzi:
Pochodzą z:
https://www.digitalocean.com/community/articles/how-to-manage-log-files-with-logrotate-on-ubuntu-12-10
źródło
/var/lib/logrotate.status
w systemach Red Hat.cat /var/lib/logrotate/status
pokazuje tylko aktywność logrotate zainicjowaną przez użytkownika root . Cronjobs innych użytkowników mogą wyzwalać własną aktywność logrotate, np. Gdy ich crontab zawiera wpis taki jak0 0 * * * /usr/sbin/logrotate $HOME/logrotate/logrotate.conf --state $HOME/logrotate/logrotate-state
. Ta aktywność logrotate zostałaby zapisana do pliku$HOME/logrotate/logrotate-state
,$HOME
będąc katalogiem domowym tego użytkownika./var/lib/logrotate/logrotate.status
.Możesz spróbować uruchomić program logrotate w trybie debugowania lub pełnego:
źródło
sudo logrotate -v /etc/logrotate.conf 2>&1 | sudo tee -a /var/log/logrotate.log >/dev/null
(upewnij się , że masz-a
).W Suse Linux dystrybucje wyglądają tak:
źródło
Różne dzienniki są obracane na różnych częstotliwościach w oparciu o plik konfiguracyjny (/etc/logrotate.conf) i / lub katalog (/etc/logrotate.d). Nazwy mogą się różnić w zależności od dystrybucji. Konfiguracja może określać działania przed i / lub po rotacji. Nazwy obróconych plików i data ostatniego obrotu znajdują się w pliku stanu (/ var / lib / logrotate / state).
Logrotate nie ma możliwości logowania. Inicjowane przez niego operacje ponownego ładowania / restartowania będą rejestrowane zgodnie z rejestracją dla programu, na którym działa.
Najłatwiejszym sposobem na dokonanie tego jest edycja
/etc/cron.daily/logrotate
zawierająca-v
opcję. Szczegółowe informacje na temat konfiguracji i opcji logrotate można znaleźć w poleceniuman logrotate
.źródło
Koleś, możesz sprawdzić ustawienia
logrotate
, zwykle w/etc/logrotate.conf
.Nowoczesne dystrybucje mają
logrotate
w/etc/logrotate.d
katalogu określony plik konfiguracyjny .np. dla
nginx
Przechowuje plik przez 52 tygodnie (rok). Rotacja odbywa się co tydzień.
Uwaga: user56548 był kiedyś „Koleś”
źródło
rotate 365
lubweekly
.rotate 52
Oczywiście codzienna rotacja z zachowa 52 dni dzienników.weekly