Przykłady Logrotate w systemie Linux

Przyklady Logrotate W Systemie Linux



Informacje z dziennika są bardzo ważną częścią każdego systemu operacyjnego, pozwalającą na zdiagnozowanie problemu z dowolną uruchomioną aplikacją, a wpisy w dzienniku pomagają znaleźć rozwiązanie problemu. Większość aplikacji systemu operacyjnego Linux generuje dziennik, a administrator systemu uzyskuje wymagane informacje o aplikacji z wpisów dziennika. Jednak wpisy dziennika czasami stwarzają problemy, ponieważ z czasem rozmiar wpisów staje się większy. Dlatego wpisy dziennika są wymagane do zarządzania.

Logrotate to narzędzie wiersza poleceń systemu Linux umożliwiające zarządzanie wpisami w dzienniku. To narzędzie pomaga administratorowi wykonywać różne typy zadań na wpisach dziennika, takie jak ograniczanie obróconych plików dziennika, kompresowanie obróconych plików dziennika, usuwanie niepotrzebnych plików dziennika, wykonywanie określonego skryptu powłoki na podstawie plików dziennika itp. Używa W tym samouczku na wielu przykładach pokazano polecenie „logrorate” służące do zarządzania plikami dziennika na różne sposoby.

Sprawdź zainstalowaną wersję Logrotate

Polecenie „logrotate” jest domyślnie instalowane w nowej wersji systemu operacyjnego Ubuntu. Uruchom następujące polecenie, aby sprawdzić zainstalowaną wersję polecenia „logrotate”:







$ logrotat --wersja



Wpisy dziennika różnych aplikacji są domyślnie przechowywane w folderze „/var/log”. Jeśli sprawdzisz zawartość folderu, pojawi się następująca podobna treść.



$ ls / był / dziennik





Ustaw konfigurację „Logrotate”.

Wartość ustawienia Zamiar
codziennie/tygodniowo/miesięcznie/rocznie Określa czas trwania rotacji kłód.
obrócić numer Określa liczbę plików, które będą przechowywane przed usunięciem starych plików dziennika.
Kompresja Służy do kompresji plików dziennika.
skompresujcmd Służy do ustawiania polecenia „kompresuj”. Domyślnym poleceniem jest gzip.
rozpakujcmd Służy do ustawiania polecenia „dekompresuj”. Gunzip jest poleceniem domyślnym.
opóźnij kompresję Służy do opóźnienia procesu kompresji plików dziennika.
powiadomienie puste Służy do nie obracania pustego pliku.
brakuje mi Jeśli jest ustawiona, w przypadku brakujących plików dziennika nie jest generowany żaden błąd.
rozmiar Służy do ustawienia limitu rozpoczęcia rotacji plików dziennika.
tekst daty Służy do dodawania wartości daty jako przyrostka pliku obracania.
skopiuj Służy do tworzenia kopii oryginalnego pliku.
wstępnie obrócony Służy do uruchomienia skryptu przed obróceniem plików dziennika.
postrotować Służy do uruchomienia skryptu po obróceniu plików dziennika.
tworzyć Służy do tworzenia plików dziennika z uprawnieniami roota.

Składnia:

Składnia polecenia „logrotate” jest następująca:



logrotat [ OPCJA ] ścieżka_pliku_konfiguracyjnego

Za pomocą polecenia „logrotate” można używać różnych typów opcji do różnych celów.

Opcje Logrotatu

Niektóre przydatne opcje polecenia „logrotate” są wymienione poniżej:

-f, –siła Służy do wykonywania rotacji z dużą siłą, gdy jest to wymagane.
-d, –debug Służy do włączania trybu debugowania podczas rotacji.
-m, –mail Służy do wysyłania wiadomości e-mail podczas rotacji.
-s, –state Służy do plików stanu alternatywnego.
-stosowanie Służy do drukowania informacji o użytkowaniu.
-?, -pomoc Służy do drukowania komunikatów pomocniczych.
-v, –pełne Służy do drukowania w trybie pełnym.

Plik konfiguracyjny Logrotate

Główny plik konfiguracyjny logrotate znajduje się w lokalizacji „/etc/logrotate.conf”. Uruchom następujące polecenie, aby otworzyć plik w edytorze nano:

$ nano / itp / logrotate.conf

Domyślne ustawienie polecenia „logrotate” jest pokazane w pliku „logrotate.conf”. Dyrektywa „include” jest używana w pliku w celu pobrania konfiguracji znajdującej się w katalogu „/etc/logrotate.d”.

Przykład 1: Utwórz prosty plik konfiguracyjny Logrotate

Utwórz przykładowy plik dziennika o nazwie „/var/log/test.log” zawierający przykładowe dane dziennika. Uruchom następujące polecenie, aby otworzyć edytor nano i utworzyć nowy plik „logrotate.conf” w lokalizacji folderu „/etc/tmp”. Utwórz folder „/tmp” z uprawnieniami roota, jeśli nie został wcześniej utworzony.

$ nano / itp / tmp / logrotate.conf

Dodaj następującą zawartość do pliku „/var/log/test.log”. Zgodnie z ustawieniem plik „test.log” będzie obracany codziennie, jeśli rozmiar pliku przekroczy 5 KB:

/ był / dziennik / test.log {

codziennie

rozmiar 5 tys

jego root adm

}

Uruchom następujące polecenie, aby sprawdzić rozmiar pliku dziennika:

$ ls -l / był / dziennik / test.log

Po utworzeniu pliku konfiguracyjnego uruchom polecenie „logrotate”.

$ sudo logrotat / itp / tmp / logrotate.conf

Uruchom ponownie następujące polecenie, aby sprawdzić rozmiar pliku dziennika po wykonaniu polecenia „logrotate”:

$ ls -l / był / dziennik / test.log

Rozmiar pliku „test.log” wynosi ponad 1K. Zatem nie jest wykonywana żadna rotacja w oparciu o ustawienia konfiguracyjne.

Zmień wartość rozmiaru na 1K w pliku „/etc/tmp/logrotate.conf” i ponownie uruchom polecenie „ls”, aby sprawdzić rozmiar pliku „/var/log/test.log”. Zgodnie z wynikami plik dziennika jest obracany i usuwany z powodu przekroczenia limitu rozmiaru.

Przykład 2: Użycie Logrotate Copytruncate

Utwórz lub zmodyfikuj plik „/etc/tmp/logrotate.conf” z następującymi ustawieniami, aby pokazać użycie opcji copytruncate. Zgodnie z nowymi ustawieniami logrotate tworzy kopię oryginalnego pliku, zmniejszając oryginalny rozmiar pliku do zera.

/ był / dziennik / test.log {

obracać się 5

rozmiar 1 tys

skopiuj

jego root adm

}

Uruchom następujące polecenie, aby sprawdzić rozmiar pliku „test.log”:

$ ls -l / był / dziennik / test.log

Po utworzeniu pliku konfiguracyjnego uruchom polecenie „logrotate”.

$ sudo logrotat / itp / tmp / logrotate.conf

Uruchom ponownie następujące polecenie, aby sprawdzić rozmiar pliku „test.log” po wykonaniu polecenia „logrotate”:

$ ls -l / był / dziennik / test.log

Oryginalny rozmiar pliku wynosi 0 po wykonaniu polecenia „logrotate” dla ustawienia copytruncate.

Przykład 3: Użycie Logrotate Compress

Utwórz lub zmodyfikuj plik „/etc/tmp/logrotate.conf” z następującymi ustawieniami, aby pokazać użycie kompresu. Zgodnie z nowymi ustawieniami logrotate tworzy plik kompresyjny oryginalnego pliku.

/ był / dziennik / test.log {

obracać się 5

rozmiar 1 tys

Kompresja

tworzyć 770 root adm

}

Uruchom następujące polecenie, aby sprawdzić listę plików i folderów „/var/log”:

$ ls / był / dziennik /

Po utworzeniu pliku konfiguracyjnego uruchom polecenie „logrotate”.

$ sudo logrotat / itp / tmp / logrotate.conf

Uruchom ponownie następujące polecenie, aby sprawdzić listę plików i folderów „/var/log”:

$ ls / był / dziennik /

Tworzony jest skompresowany plik „test.log” o nazwie „test.log.1.gz”, a oryginalny plik jest usuwany.

Przykład 4: Użycie tekstu daty Logrotate

Utwórz lub zmodyfikuj plik „/etc/tmp/logrotate.conf” z następującymi ustawieniami, aby pokazać użycie dateext. Zgodnie z nowymi ustawieniami logrotate tworzy plik kompresyjny oryginalnego pliku z wartością daty.

był / dziennik / test.log {

jego root adm

obracać się 5

rozmiar 1 tys

Kompresja

tworzyć 770 root adm

tekst daty

}

Po utworzeniu pliku konfiguracyjnego uruchom polecenie „logrotate”.

$ sudo logrotat / itp / tmp / logrotate.conf

Uruchom następujące polecenie, aby sprawdzić listę plików i folderów „/var/log”:

$ ls -l / był / dziennik /

Tworzony jest skompresowany plik „test.log” o nazwie „test.log.20240129.gz”, a oryginalny plik jest usuwany.

Przykład 5: Użycie Logrotate Maxage

Utwórz lub zmodyfikuj plik „/etc/tmp/logrotate.conf” z następującymi ustawieniami, aby pokazać użycie maxage. Zgodnie z ustawieniami logrotate przechowuje pięć wpisów w dzienniku, jeśli rozmiar pliku dziennika przekracza 1 KB po jednym dniu.

/ był / dziennik / test.log {

jego root adm

obracać się 5

rozmiar 1 tys

Kompresja

maks 1

}

Uruchom następującą komendę „logrotate”, aby zapisać dane wyjściowe w innym pliku dziennika o nazwie „out.log”:

$ sudo logrotat -S = / był / dziennik / wyloguj się / itp / tmp / logrotate.conf

Zgodnie z następującymi wynikami, plik „out.log” tworzony jest po wykonaniu polecenia „logrotate”:

Przykład 6: Użycie Logrotate Missingok

Utwórz lub zmodyfikuj plik „/etc/tmp/logrotate.conf” z następującymi ustawieniami. W tym przypadku plik dziennika „testfile.log” nie istnieje w folderze „/var/log”.

/ był / dziennik / plik testowy.log {

jego root adm

obracać się 5

rozmiar 1 tys

Kompresja

}

Po wykonaniu polecenia „logrotate” drukowany jest komunikat o błędzie.

Dodaj ustawienie „missingok” do pliku konfiguracyjnego logrotate i ponownie uruchom polecenie „logrotate”. W przypadku brakującego pliku dziennika nie jest drukowany żaden błąd.

Przykład 7: Użycie Logrotate Prerotate

Utwórz plik Bash o nazwie „test.sh” za pomocą następującego skryptu, który wypisuje prosty komunikat. Plik ten jest używany w tym przykładzie logrotate, aby pokazać użycie prerotate w pliku konfiguracyjnym logrotate.

test.sh



#!/bin/bash

Echo „przykłady logrotatu…”

Po utworzeniu pliku uruchom następującą komendę, aby ustawić uprawnienia do wykonywania tego pliku dla wszystkich użytkowników:

$ chmod a+x / dom / zrozumienie / test.sh

Teraz utwórz lub zmodyfikuj plik „/etc/tmp/logrotate.conf” z następującymi ustawieniami. Zgodnie z ustawieniami logrotate przechowuje pięć wpisów w dzienniku, jeśli rozmiar pliku dziennika przekracza 1 KB, a przed rotacją wykonywany jest plik „test.sh”.

/ był / dziennik / test.log {

jego root adm

obracać się 5

rozmiar 1 tys

wstępnie obrócony

/ dom / zrozumienie / test.sh

końcówka

}

Dane wyjściowe pliku „test.sh” są wyświetlane po wykonaniu polecenia „logrotate”:

Wniosek

W tym samouczku pokazano różne zastosowania polecenia „logrotate” na wielu przykładach, które pomogą użytkownikowi systemu Linux poznać zastosowanie polecenia i prawidłowo zarządzać plikami dziennika.