Czy można ręcznie uruchomić jedną iterację programu logrotate bez planowania w określonych odstępach czasu?
Czy można ręcznie uruchomić jedną iterację programu logrotate bez planowania w określonych odstępach czasu?
Odpowiedzi:
Tak: logrotate --force $CONFIG_FILE
--forcepliki zostaną obrócone, nawet jeśli nie będą spełniać określonych kryteriów, takich jak rozmiar, wiek itp.
logrotate --force /etc/logrotate.d/(tylko nazwa katalogu)
--forcewymusi rotację, nawet jeśli pliki nie spełniają kryteriów (wiek, rozmiar itp.), Ale proszę wziąć pod uwagę, że jest to jedyny sposób na wykrycie prawdziwych problemów, logrotate -dktóre się nie pojawiłyby (na przykład, gdy zabrakło serwera przestrzeń z powodu niedziałającego programu Logrotate od miesięcy ... i dzięki --forceFile exists
logrotate -d [your_config_file] wywołuje tryb debugowania, podając pełny opis tego, co się stanie, ale pozostawiając pliki dziennika nietknięte.
logrotate --forcei działa dobrze.
Jeśli chcesz wymusić uruchomienie pojedynczego określonego katalogu lub plików dziennika demona, zwykle możesz znaleźć konfigurację /etc/logrotate.di będą one działać samodzielnie.
Należy pamiętać, że określona globalna konfiguracja /etc/logrotate.confnie będzie obowiązywać, więc jeśli to zrobisz, upewnij się, że określiłeś wszystkie opcje, które chcesz/etc/logrotate.d/[servicename] pliku konfiguracyjnym.
Możesz to wypróbować, -daby zobaczyć, co się stanie:
logrotate -df /etc/logrotate.d/nginx
Następnie możesz uruchomić (używając nginx jako przykładu):
logrotate -f /etc/logrotate.d/nginx
I same dzienniki nginx zostaną obrócone.
logrotate -d /etc/logrotate.confspowoduje także przejście przez inne dołączone pliki conf.
Sposób uruchomienia wszystkich programów logrotate to:
logrotate -f /etc/logrotate.conf
, który uruchomi podstawowy plik logrotate, który obejmuje również inne konfiguracje logrotate
Wydaj następującą komendę, sposób uruchomienia określonego programu logrotate:
logrotate -vf /etc/logrotate.d/custom
Opcje:
-v: pokaż proces
-f: wymuszanie uruchomienia
niestandardowe: ustawienie dziennika zdefiniowane przez użytkownika
np .: mongodb-log
# mongodb-log rotate
/data/var/log/mongodb/mongod.log {
daily
dateext
rotate 30
copytruncate
missingok
}
edytuj /var/lib/logrotate.status, aby zresetować datę „ostatniej rotacji” w pliku dziennika, który chcesz przetestować.
Potem biegnij logrotate YOUR_CONFIG_FILE.
Możesz też użyć flagi --force, ale edycja logrotate.status zapewnia większą precyzję w stosunku do tego, co działa i nie jest obracane.
/var/lib/logrotate.statusplik nie istnieje w Debian Squeeze.
Utworzono skrypt powłoki, aby rozwiązać problem.
http://www.ict.griffith.edu.au/anthony/software/#logrotate_one
Ten skrypt uruchomi tylko pojedynczy plik podkonfiguracyjny logrotate znaleziony w „/etc/logrotate.d”, ale uwzględni ustawienia globalne z pliku globalnego pliku konfiguracyjnego „/etc/logrotate.conf”. Możesz także użyć innych opcji do przetestowania go ...
Na przykład...
logrotate_one -d syslog