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
--force
pliki 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)
--force
wymusi 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 -d
któ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 --force
File 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 --force
i działa dobrze.
Jeśli chcesz wymusić uruchomienie pojedynczego określonego katalogu lub plików dziennika demona, zwykle możesz znaleźć konfigurację /etc/logrotate.d
i będą one działać samodzielnie.
Należy pamiętać, że określona globalna konfiguracja /etc/logrotate.conf
nie 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ć, -d
aby 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.conf
spowoduje 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.status
plik 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