Logrotat- (8) Strona ręczna

Logrotat- (8) Strona ręczna

Nazwa

Logrotat - obraca się, kompresuje i wysyła dzienniki systemów

Streszczenie

logrotat [[[-DV] [-F|-siła] [-S|-państwo państwo] Config_file

Opis

logrotat jest zaprojektowany w celu ułatwienia administrowania systemami, które generują dużą liczbę plików dziennika. Umożliwia automatyczną rotację, kompresję, usuwanie i wysyłkę plików dziennika. Każdy plik dziennika może być obsługiwany codziennie, co tydzień, co miesiąc lub gdy rośnie zbyt duży.

Normalnie, logrotat jest prowadzony jako codzienna praca cron. Nie zmodyfikuje dziennika więcej niż raz w ciągu jednego dnia, chyba że kryterium tego dziennika jest oparte na rozmiarze dziennika i logrotat jest uruchamiany więcej niż raz każdego dnia lub chyba -F Lub -siła używana jest opcja.

W wierszu poleceń można podać dowolną liczbę plików konfiguracyjnych. Późniejsze pliki konfiguracyjne mogą zastąpić opcje podane we wcześniejszych plikach, więc kolejność, w jakiej logrotat Pliki konfiguracyjne są wymienione. Zwykle należy użyć pojedynczego pliku konfiguracji, który zawiera wszelkie inne pliki konfiguracyjne. Zobacz poniżej, aby uzyskać więcej informacji na temat korzystania z włączać dyrektywa, aby to osiągnąć. Jeśli katalog jest podany w wierszu poleceń, każdy plik w tym katalogu jest używany jako plik konfiguracji.

Jeśli nie podano żadnych argumentów wiersza poleceń, logrotat Wydrukuje informacje o wersji i prawach autorskich wraz z krótkim podsumowaniem użytkowania. Jeśli występują jakieś błędy podczas obracania dzienników, logrotat wyjdzie ze statusem niezerowym.



Opcje

-D
Włącza tryb debugowania i implikuje -v. W trybie debugowania nie zostaną wprowadzone zmiany w dziennikach ani na logrotat plik stanu.
-F, -siła
Mówi logrotat Aby wymusić rotację, nawet jeśli nie uważa, że ​​to konieczne. Czasami jest to przydatne po dodaniu nowych wpisów do logrotat plik konfiguracyjny lub jeśli stare pliki dziennika zostały ręcznie usunięte, ponieważ nowe pliki zostaną utworzone, a rejestrowanie będzie kontynuowane poprawnie.
-M, -Poczta
Mówi logrotat Które polecenie użyć podczas wysyłania dzienników. To polecenie powinno zaakceptować dwa argumenty: 1) temat wiadomości i 2) odbiorca. Polecenie musi następnie odczytać wiadomość o standardowym wejściu i wysłać ją do odbiorcy. Domyślne polecenie poczty to /usr/bin/poczta -s.
-S, -państwo
Mówi logrotat Aby użyć alternatywnego pliku stanu. Jest to przydatne, jeśli logrotan jest uruchamiany jako inny użytkownik dla różnych zestawów plików dziennika. Domyślny plik stanu to /var/lib/logrotan/status.
-stosowanie
Wydrukuje krótką wiadomość użytkowania.
-v, -gadatliwy
Wyświetl wiadomości podczas rotacji.


Plik konfiguracyjny

logrotat odczytuje wszystko o plikach dziennika, które powinien obsługiwać z serii plików konfiguracyjnych określonych w wierszu poleceń. Każdy plik konfiguracyjny może ustawić opcje globalne (definicje lokalne zastępują globalne, a później definicje zastępują wcześniejsze) i określić pliki dziennika do obracania. Prosty plik konfiguracyjny wygląda tak:

 # Przykładowy plik konfiguracyjny Logrotate Compress/var/log/messages Rotate 5 Weekly Postrotate/usr/bin/killall -hup syslogd endscript "/var/log/httpd/access.log "/var/log/httpd/błąd.log Rotate 5 Mail [email protected] SIZE 100k SHAREDSCRIPTS Postrotate/usr/bin/killall -hup httpd endscript/var/log/news/* Miesięczny rotacja 2 olddir/log/news/stare missingok zabójstwo -hup 'cat/var/run/inn/inn/inn/inn.PID 'endscript Nocompress ~/log/*.dziennik  

Pierwsze kilka linii ustawia opcje globalne; W przykładzie dzienniki są kompresowane po ich obróceniu. Zauważ, że komentarze mogą pojawiać się w dowolnym miejscu w pliku konfiguracyjnym, o ile pierwsza postać nie-biała na linii jest #.

Następna sekcja pliku konfiguracyjnego określa sposób obsługi pliku dziennika /var/log/wiadomości. Dziennik przejdzie przez pięć cotygodniowych rotacji przed usunięciem. Po obróceniu pliku dziennika (ale zanim stara wersja dziennika zostanie skompresowana), polecenie /sbin/killall -hup syslogd zostanie wykonane.

Następna sekcja określa parametry dla obu /var/log/httpd/access.dziennik I /var/log/httpd/błąd.dziennik. Każdy jest obracany, gdy rośnie o wielkości ponad 100 000, a stare pliki dzienników są wysyłane (nieskompresowane) na [email protected] po przejściu przez 5 rotacji, a nie usunięcie. SHAREDSCRIPTS oznacza, że potrotat Skrypt zostanie uruchomiony tylko raz (po skompresowaniu starych dzienników), a nie raz dla każdego obracanego dziennika. Zauważ, że nazwy plików dziennika mogą być zamknięte w cytatach (i że cytaty są wymagane, jeśli nazwa zawiera przestrzenie). Obowiązują normalne powłoki cytowania, z ', ", I \ Postacie obsługiwane.

Ostatnia sekcja określa parametry dla wszystkich plików w /var/log/news. Każdy plik jest obracany co miesiąc. Jest to uważane za dyrektywę z pojedynczą rotacją, a jeśli błędy wystąpią w przypadku więcej niż jednego pliku, pliki dziennika nie są ściśnięte.

Używaj z ostrożnością przyrody. Jeśli określisz *, logrotat obróci wszystkie pliki, w tym wcześniej obracane. Sposobem na to jest użycie Olddir dyrektywa lub dokładniejsza karta wieloznaczna (np. *.dziennik).

Jeśli katalog /var/log/news nie istnieje, to spowoduje logrotat Aby zgłosić błąd. Ten błąd nie można zatrzymać za pomocą Missingok dyrektywa.



Oto więcej informacji na temat dyrektyw, które mogą być zawarte w logrotat plik konfiguracyjny:

Kompresja
Stare wersje plików dziennika są kompresowane gzip(1) domyślnie. Zobacz też Nocompress.
compresscmd
Określa, które polecenie użyć do kompresji plików dziennika. Domyślnie jest gzip(1) . Zobacz też Kompresja.
Uncrespresscmd
Określa, które polecenie użyć do rozpakowywania plików dziennika. Domyślnie jest Gunzip(1) .
kompresekst
Określa, które rozszerzenie użyć w kompresowanych plikach dziennika, jeśli włączona jest kompresja. Domyślnie jest zgodny z domyślnym poleceniem kompresji (.GZ).
sprężarki
Opcje wiersza poleceń mogą być przekazywane do programu kompresji, jeśli ktoś jest używany. Domyślnie, dla gzip, to „-9” (maksymalna kompresja).
Kopiuj
Zrób kopię pliku dziennika, ale w ogóle nie zmieniaj oryginału. Tę opcję można na przykład użyć, aby zrobić migawkę bieżącego pliku dziennika lub gdy jakieś inne narzędzie musi obcinać lub analizować plik. Gdy używana jest ta opcja, tworzyć Opcja nie będzie miała wpływu, ponieważ stary plik dziennika pozostaje na miejscu.


Kopitrunciate
Obcinaj oryginalny plik dziennika do zerowego rozmiaru po utworzeniu kopii, zamiast przesuwać stary plik dziennika i opcjonalnie tworzenie nowego. Można go użyć, gdy nie można powiedzieć o pewnym programie, aby zamknąć swój plik dziennika, a tym samym może kontynuować pisanie (dołączanie) do poprzedniego pliku dziennika na zawsze. Zauważ, że istnieje bardzo mały plasterek czasowy między skopiowaniem pliku a obcięciem, więc niektóre dane rejestrowania mogą zostać utracone. Gdy używana jest ta opcja, tworzyć Opcja nie będzie miała wpływu, ponieważ stary plik dziennika pozostaje na miejscu.
tworzyć tryb właściciel Grupa
Bezpośrednio po obrotu (przed potrotat Skrypt jest uruchamiany) Plik dziennika jest tworzony (o tej samej nazwie co właśnie obrócony plik dziennika). tryb Określa tryb pliku dziennika w ośmiorożcu (tak samo jak chmod(2)), właściciel Określa nazwę użytkownika, który będzie właścicielem pliku dziennika i Grupa Określa grupę plik dziennika będzie należeć. Dowolny z atrybutów pliku dziennika może zostać pominięty, w którym to przypadku te atrybuty nowego pliku będą używać tych samych wartości, co oryginalny plik dziennika dla pominiętych atrybutów. Tę opcję można wyłączyć za pomocą nocreate opcja.
codziennie
Pliki dziennika są obracane codziennie.
DATEEXT
Archiwum stare wersje plików dziennika dodające codzienne rozszerzenie, takie jak YyyyMmdd, zamiast po prostu dodawać liczbę.
format daty
Określ rozszerzenie dla DATEEXT używając notacji podobnej do Strftime (3) funkcjonować. Dozwolone są tylko %y %m i %D specyfikacje. Wartość domyślna to -%y%m%d. Zauważ, że także nazwa dziennika oddzielania znaków od rozszerzenia jest częścią ciągu DATFORMAT.


opóźnienie
Odponuj kompresję poprzedniego pliku dziennika do następnego cyklu obrotu. Ma to tylko efekt, gdy jest stosowany w połączeniu z Kompresja. Można go użyć, gdy nie można powiedzieć o pewnym programie, aby zamknąć swój plik dziennika, a tym samym może kontynuować pisanie do poprzedniego pliku dziennika.
rozszerzenie ext
Pliki dziennika z ext przedłużenie może zachować go po obrotu. Jeśli stosuje się kompresję, rozszerzenie kompresji (normalnie .GZ) pojawia się po ext. Na przykład masz plik dziennika o nazwie MyLog.Foo i chcę go obrócić na mylog.1.bla.GZ zamiast mylog.bla.1.GZ.
ifempty
Obróć plik dziennika, nawet jeśli jest pusty, zastępując Notifempty opcja (ifempty jest domyślnie).
włączać file_or_directory
Odczytuje plik podany jako argument, jakby został zawarty w linii, gdzie włączać Pojawia się dyrektywa. Jeśli podano katalog, większość plików w tym katalogu jest odczytywana w kolejności alfabetycznej przed przetwarzaniem pliku włączenia. Jedynymi plikami, które są ignorowane, to pliki, które nie są zwykłymi plikami (takimi jak katalogi i nazwane rury) oraz pliki, których nazwy kończą się jednym z rozszerzeń tabu, określonych przez Tabooext dyrektywa. włączać Dyrektywa może nie pojawić się w definicji pliku dziennika.
Poczta adres
Gdy dziennik jest obracany poza istnieniem, jest wysyłany do adres. Jeśli nie powinien być generowany przez określony dziennik, nomail Można użyć dyrektywy.
poczta
Podczas korzystania z Poczta polecenie, wysyłaj plik właśnie rozbity.
Maillast
Podczas korzystania z Poczta Polecenie, wysyłaj plik niedoceniany, zamiast pliku właśnie rozciągniętego (to jest domyślne).


Maxage liczyć
Zdejmij obrócone kłody starsze niż dni. Wiek jest sprawdzany tylko, czy plik dziennika ma zostać obrócony. Pliki są wysyłane na skonfigurowany adres, jeśli Maillast I Poczta są skonfigurowane.
MinSize rozmiar
Pliki dziennika są obracane, gdy rosną większe niż rozmiar bajty, ale nie wcześniej niż dodatkowo określony przedział czasu (codziennie, co tydzień, miesięczny, Lub rocznie). Powiązane rozmiar Opcja jest podobna, z wyjątkiem tego, że wzajemnie wyklucza się z opcjami przedziału czasu i powoduje obracanie plików dziennika bez względu na ostatni czas obrotu. Gdy MinSize jest używany, rozważane są zarówno rozmiar, jak i znacznik czasu pliku dziennika.
Missingok
Jeśli brakuje pliku dziennika, przejdź do następnego bez wydawania komunikatu o błędzie. Zobacz też Nomissingok.
miesięczny
Pliki dziennika są obracane po raz pierwszy logrotat jest prowadzony w ciągu miesiąca (zwykle jest to pierwszy dzień miesiąca).
Nocompress
Stare wersje plików dziennika nie są kompresowane. Zobacz też Kompresja.
Nokopia
Nie kopiuj oryginalnego pliku dziennika i pozostaw go na miejscu. (To zastępuje Kopiuj opcja).
Nocopytrunce
Nie obcinaj oryginalnego pliku dziennika po utworzeniu kopii (to zastępuje Kopitrunciate opcja).
nocreate
Nowe pliki dziennika nie są tworzone (to zastępuje tworzyć opcja).


NodelayCompress
Nie odkładaj kompresji poprzedniego pliku dziennika do następnego cyklu obrotowego (to zastępuje opóźnienie opcja).
NodateExt
Nie zarchiwij stare wersje plików dziennika z rozszerzeniem daty (to zastępuje DATEEXT opcja).
nomail
Nie wysyłaj starych plików dziennika na żaden adres.
Nomissingok
Jeśli plik dziennika nie istnieje, wydaj błąd. To jest domyślne.
Noolddir
Dzienniki są obracane w katalogu, w którym zwykle mieszkają (to zastępuje Olddir opcja).
Nosharedscripts
Uruchomić Prerotat I potrotat Skrypty dla każdego obracanego pliku dziennika (jest to domyślne i zastępuje SHAREDSCRIPTS opcja). Jeśli skrypty wychodzą z błędem, pozostałe działania nie zostaną wykonane tylko dla dotkniętego dziennika.
Nosred
Nie używaj strzęp Podczas usuwania starych plików dziennika. Zobacz też strzęp.
Notifempty
Nie obracaj dziennika, jeśli jest pusty (to zastępuje ifempty opcja).
Olddir informator
Kłody są przenoszone do informator do rotacji. informator musi znajdować się na tym samym urządzeniu fizycznym, co obracany plik dziennika i zakłada się, że jest w stosunku do katalogu trzymającego plik dziennika, chyba że określono bezwzględną nazwę ścieżki. Gdy ta opcja jest używana, wszystkie stare wersje dziennika kończą się informator. Ta opcja może zostać zastąpiona przez Noolddir opcja.


potrotat/Endscript
Linie między potrotat I Endscript (oba z nich muszą pojawić się na liniach samodzielnie) są wykonywane po obróceniu pliku dziennika. Dyrektywy te mogą pojawiać się tylko w definicji pliku dziennika. Zobacz też Prerotat. Widzieć SHAREDSCRIPTS I Nosharedscripts Do obsługi błędów.
Prerotat/Endscript
Linie między Prerotat I Endscript (oba z nich muszą pojawić się na liniach samodzielnie) są wykonywane przed obróceniem pliku dziennika i tylko wtedy, gdy dziennik faktycznie zostanie obrócony. Dyrektywy te mogą pojawiać się tylko w definicji pliku dziennika. Zobacz też potrotat. Widzieć SHAREDSCRIPTS I Nosharedscripts Do obsługi błędów.
FirstAction/Endscript
Linie między FirstAction I Endscript (oba z nich muszą pojawić się na liniach samodzielnie) są wykonywane raz, zanim wszystkie pliki dziennika, które pasują do wzoru wieloznacznego, zanim zostanie uruchomiony skrypt prerotate i tylko wtedy, gdy przynajmniej jeden dziennik zostanie faktycznie obrócony. Te dyrektywy mogą pojawiać się w definicji pliku dziennika. Jeśli skrypt wyjdzie z błędu, nie jest wykonywane dalsze przetwarzanie. Widzieć Lastaction również.
Lastaction/Endscript
Linie między Lastaction I Endscript (oba z nich muszą pojawić się na liniach same) są wykonywane po obróceniu wszystkich plików dziennika, które pasują do wzoru wieloznacznego, po uruchomieniu skryptu posttrotatowego i tylko wtedy, gdy co najmniej jeden dziennik zostanie obrócony. Dyrektywy te mogą pojawiać się tylko w definicji pliku dziennika. Jeśli skrypt wychodzi z błędem, pokazano tylko komunikat o błędzie (ponieważ jest to ostatnia akcja).

Zobacz też FirstAction.

obracać się liczyć
Pliki dziennika są obracane liczyć razy przed usunięciem lub wysłaniem na adres określony w Poczta dyrektywa. Jeśli liczyć jest 0, stare wersje są usuwane, a nie obracane.
rozmiar rozmiar
Pliki dziennika są obracane, gdy rosną większe niż rozmiar bajty. Jeśli rozmiar jest obserwowany przez M, rozmiar, jeśli zakłada się, że jest w megabajtach. Jeśli G stosuje się sufiks, rozmiar jest w gigabajtach. Jeśli k jest używany, rozmiar jest w kilobajtach. Więc Rozmiar 100, Rozmiar 100k, I Rozmiar 100m wszystkie są ważne.
SHAREDSCRIPTS
Normalnie, Prerotat I potrotat Skrypty są uruchamiane dla każdego obracanego dziennika, co oznacza, że ​​pojedynczy skrypt może być uruchamiany wiele razy dla wpisów plików dziennika, które pasują do wielu plików (takich jak /var/log/news/* przykład). Jeśli sharedScript jest określone, skrypty są uruchamiane tylko raz, bez względu na to, ile dzienników pasuje. Jeśli jednak żaden z dzienników we wzorze nie wymaga obrócenia, skrypty w ogóle nie będą uruchamiane. Jeśli skrypty wychodzą z błędem, pozostałe działania nie zostaną wykonane dla żadnych dzienników. Ta opcja zastępuje Nosharedscripts opcja i implikuje tworzyć opcja.
strzęp
Usuń pliki dziennika za pomocą strzęp -u zamiast unlink (). Powinno to zapewnić, że dzienniki nie są czytelne po ich zaplanowanym usunięciu; To jest domyślnie wyłączone. Zobacz też Nosred.
Niszczenie liczyć
Pyta GNU strzęp Zastępować pliki dziennika liczyć razy przed usunięciem. Bez tej opcji, strzępDomyślnie zostanie użyte.
początek liczyć
Jest to liczba do użycia jako podstawa do obrotu. Na przykład, jeśli określisz 0, dzienniki zostaną utworzone za pomocą .0 rozszerzenie, ponieważ są one obracane z oryginalnych plików dziennika. Jeśli określisz 9, pliki dziennika zostaną utworzone za pomocą .9, pomijanie 0-8. Pliki zostaną obrócone o liczbie czasu określonych w przypadku obracać się dyrektywa.
Tabooext [+] lista
Obecna lista rozszerzeń tabu jest zmieniana (patrz włączać Dyrektywa informacji o rozszerzeniach tabu). Jeśli A + poprzedza listę rozszerzeń, bieżąca lista rozszerzeń tabu jest rozszerzona, w przeciwnym razie zostanie wymieniona. W uruchomieniu lista rozszerzeń tabu zawiera .rpmorig, .RPMSAVE ,, v, .SWP, .rpmnew, ~, .CFSAVED, .rhn-cfg-tmp-*, .DPKG-dist, .DPKG, .DPKG-New, .wyłączony.
co tydzień
Pliki dziennika są obracane, jeśli obecny dzień powszedni jest mniejszy niż dzień powszedni ostatniego rotacji lub jeśli minął więcej niż tydzień od ostatniej rotacji. Zwykle jest to takie samo, jak obracanie dzienników pierwszego dnia tygodnia, ale jeśli logrotat nie jest uruchamiana każdej nocy, rotacja dziennika nastąpi przy pierwszej ważnej okazji.
rocznie
Pliki dziennika są obracane, jeśli bieżący rok nie jest taki sam, jak ostatnia rotacja.


Akta

/var/lib/logrotatan.status
Domyślny plik stanu.
/etc/logrotatan.conf
Opcje konfiguracji.

Zobacz też

gzip(1)

Notatki

zabić wszystkich(1) Program w Debian znajduje się w PSMISC pakiet.

Autorski

Erik Troan Preston Brown Korekty i zmiany dla Debiana Bypaul Martin 

Powiązane samouczki Linux:

  • Jak stworzyć zadanie cron w Kubernetes
  • Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
  • Jak okresowo uruchamiać polecenia z Anacron na Linux
  • Zaawansowane rejestrowanie i audyt w systemie Linux
  • Mastering Bash Script Loops
  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Mint 20: Lepsze niż Ubuntu i Microsoft Windows?
  • Jak zarządzać i rozwiązywać problemy z dziennikami Kubernetes
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
  • Najlepsze narzędzie do kompresji w Linux