Primjeri Linux Logrotate

Primjeri Linux Logrotate



Podaci dnevnika vrlo su važan dio svakog operativnog sustava za dijagnosticiranje problema bilo koje pokrenute aplikacije, a unosi dnevnika pomažu pronaći rješenje problema. Većina aplikacija operativnog sustava Linux generira dnevnik i administrator sustava dobiva potrebne informacije o aplikaciji iz unosa dnevnika. Međutim, unosi dnevnika ponekad stvaraju probleme jer veličina unosa s vremenom postaje sve veća. Dakle, za upravljanje su potrebni unosi u dnevnik.

Logrotate je Linuxov alat naredbenog retka za upravljanje unosima dnevnika. Ovaj alat pomaže u obavljanju različitih vrsta zadataka na unosima dnevnika od strane administratora, kao što je ograničavanje rotiranih datoteka dnevnika, komprimiranje rotiranih datoteka dnevnika, brisanje nepotrebnih datoteka dnevnika, izvršavanje određene skripte ljuske na temelju datoteka dnevnika, itd. Upotreba naredbe “logrorate” za upravljanje log datotekama na različite načine prikazani su u ovom vodiču na više primjera.

Provjerite instaliranu verziju Logrotate

Naredba “logrotate” je standardno instalirana u novoj verziji operativnog sustava Ubuntu. Pokrenite sljedeću naredbu da provjerite instaliranu verziju naredbe “logrotate”:







$ logrotirati --verzija



Unosi dnevnika različitih aplikacija prema zadanim postavkama pohranjuju se u mapu “/var/log”. Sljedeći sličan sadržaj pojavit će se ako provjerite sadržaj mape.



$ ls / bio je / log





Postavite konfiguraciju “Logrotate”.

Postavljanje vrijednosti Svrha
dnevno/tjedno/mjesečno/godišnje Definira vremensko trajanje rotiranja dnevnika.
rotirati broj Definira broj datoteka koje će se čuvati prije uklanjanja starih datoteka dnevnika.
oblog Koristi se za komprimiranje log datoteka.
kompresiraticmd Koristi se za postavljanje naredbe 'compress'. Gzip je zadana naredba.
uncompresscmd Koristi se za postavljanje naredbe “uncompress”. Gunzip je zadana naredba.
odgoditikompresiju Koristi se za odgodu procesa kompresije datoteka dnevnika.
obavijest prazna Koristi se da se prazna datoteka ne rotira.
nedostaje mi Ako je postavljeno, ne generira se pogreška za datoteke dnevnika koje nedostaju.
veličina Koristi se za postavljanje ograničenja za početak rotiranja datoteka dnevnika.
tekst datuma Koristi se za dodavanje vrijednosti datuma kao sufiksa datoteke za rotiranje.
copytruncate Koristi se za stvaranje kopije izvorne datoteke.
prerotiran Koristi se za pokretanje skripte prije rotiranja datoteka dnevnika.
postrotirati Koristi se za pokretanje skripte nakon rotiranja datoteka dnevnika.
stvoriti Koristi se za stvaranje log datoteka s root privilegijom.

Sintaksa:

Sintaksa naredbe “logrotate” dana je kako slijedi:



logrotirati [ OPCIJA ] staza_konfiguracijske_datoteke

Različite vrste opcija mogu se koristiti u različite svrhe pomoću naredbe “logrotate”.

Logrotate Opcije

Neke korisne opcije naredbe “logrotate” navedene su u nastavku:

-f, – sila Koristi se za snažno okretanje kada je to potrebno.
-d, –otklanjanje pogrešaka Koristi se za omogućavanje načina otklanjanja pogrešaka tijekom rotacije.
-m, –mail Koristi se za slanje e-pošte tijekom rotacije.
-s, –stanje Koristi se za alternativne datoteke stanja.
– korištenje Koristi se za ispis podataka o korištenju.
-?, -Pomozite Koristi se za ispis poruka pomoći.
-v, –opširno Koristi se za ispis u verbose modu.

Logrotate konfiguracijska datoteka

Glavna konfiguracijska datoteka logrotate nalazi se na lokaciji “/etc/logrotate.conf”. Pokrenite sljedeću naredbu za otvaranje datoteke u nano editoru:

$ nano / itd / logrotirati.konf

Zadana postavka naredbe “logrotate” prikazana je u datoteci “logrotate.conf”. Direktiva “include” koristi se u datoteci za dohvaćanje konfiguracije koja se nalazi u direktoriju “/etc/logrotate.d”.

Primjer 1: Stvorite jednostavnu konfiguracijsku datoteku Logrotate

Stvorite oglednu datoteku dnevnika pod nazivom “/var/log/test.log” s oglednim podacima dnevnika. Pokrenite sljedeću naredbu za otvaranje nano editora za stvaranje nove datoteke 'logrotate.conf' na lokaciji mape '/etc/tmp'. Stvorite mapu “/tmp” s root privilegijama ako nije prije stvorena.

$ nano / itd / tmp / logrotirati.konf

Dodajte sljedeći sadržaj u datoteku za datoteku “/var/log/test.log”. Prema postavci, datoteka 'test.log' svakodnevno će se rotirati ako veličina datoteke premaši 5K:

/ bio je / log / test.log {

dnevno

veličina 5K

njegov korijen adm

}

Pokrenite sljedeću naredbu da provjerite veličinu datoteke dnevnika:

$ ls -l / bio je / log / test.log

Pokrenite naredbu “logrotate” nakon izrade konfiguracijske datoteke.

$ sudo logrotirati / itd / tmp / logrotirati.konf

Ponovno pokrenite sljedeću naredbu da biste provjerili veličinu datoteke dnevnika nakon izvršavanja naredbe “logrotate”:

$ ls -l / bio je / log / test.log

Veličina datoteke 'test.log' je 1K+. Dakle, ne vrši se rotacija na temelju postavki konfiguracije.

Promijenite vrijednost veličine na 1K u datoteci “/etc/tmp/logrotate.conf” i ponovno pokrenite naredbu “ls” da provjerite veličinu datoteke “/var/log/test.log”. Prema izlazu, datoteka dnevnika se rotira i briše jer je ograničenje veličine premašeno.

Primjer 2: Upotreba Logrotate Copytruncate

Napravite ili izmijenite datoteku “/etc/tmp/logrotate.conf” sa sljedećim postavkama da biste prikazali korištenje copytruncate. Prema novim postavkama, logrotate stvara kopiju izvorne datoteke tako da početnu veličinu datoteke poništi.

/ bio je / log / test.log {

rotirati 5

veličina 1 k

copytruncate

njegov korijen adm

}

Pokrenite sljedeću naredbu da provjerite veličinu datoteke 'test.log':

$ ls -l / bio je / log / test.log

Pokrenite naredbu “logrotate” nakon izrade konfiguracijske datoteke.

$ sudo logrotirati / itd / tmp / logrotirati.konf

Ponovno pokrenite sljedeću naredbu da provjerite veličinu datoteke 'test.log' nakon izvršavanja naredbe 'logrotate':

$ ls -l / bio je / log / test.log

Izvorna veličina datoteke postaje 0 nakon izvođenja naredbe “logrotate” za postavku copytruncate.

Primjer 3: Upotreba Logrotate Compressa

Napravite ili izmijenite datoteku “/etc/tmp/logrotate.conf” sa sljedećim postavkama da biste prikazali korištenje kompresije. Prema novim postavkama, logrotate stvara komprimiranu datoteku izvorne datoteke.

/ bio je / log / test.log {

rotirati 5

veličina 1 k

oblog

stvoriti 770 korijen adm

}

Pokrenite sljedeću naredbu da provjerite popis datoteka i mapa “/var/log”:

$ ls / bio je / log /

Pokrenite naredbu “logrotate” nakon izrade konfiguracijske datoteke.

$ sudo logrotirati / itd / tmp / logrotirati.konf

Ponovno pokrenite sljedeću naredbu da provjerite popis datoteka i mapa “/var/log”:

$ ls / bio je / log /

Komprimirana datoteka datoteke 'test.log' stvara se s nazivom 'test.log.1.gz', a izvorna datoteka se uklanja.

Primjer 4: Upotreba Logrotate Dateext

Napravite ili izmijenite datoteku “/etc/tmp/logrotate.conf” sa sljedećim postavkama da biste prikazali korištenje dateext-a. Prema novim postavkama, logrotate stvara komprimiranu datoteku izvorne datoteke s vrijednošću datuma.

bio je / log / test.log {

njegov korijen adm

rotirati 5

veličina 1 k

oblog

stvoriti 770 korijen adm

tekst datuma

}

Pokrenite naredbu “logrotate” nakon izrade konfiguracijske datoteke.

$ sudo logrotirati / itd / tmp / logrotate.conf

Pokrenite sljedeću naredbu da provjerite popis datoteka i mapa “/var/log”:

$ ls -l / bio je / log /

Komprimirana datoteka datoteke 'test.log' kreira se s nazivom 'test.log.20240129.gz', a izvorna datoteka se uklanja.

Primjer 5: Upotreba Logrotate Maxage

Napravite ili izmijenite datoteku “/etc/tmp/logrotate.conf” sa sljedećim postavkama da biste prikazali korištenje maxage. Prema postavkama, logrotate čuva pet unosa u dnevnik ako veličina datoteke dnevnika premaši 1K nakon jednog dana.

/ bio je / log / test.log {

njegov korijen adm

rotirati 5

veličina 1 k

oblog

maxage 1

}

Pokrenite sljedeću naredbu “logrotate” da biste pohranili izlaz u drugu datoteku dnevnika pod nazivom “out.log”:

$ sudo logrotirati -s = / bio je / log / out.log / itd / tmp / logrotate.conf

Prema sljedećem rezultatu, datoteka “out.log” kreirana je nakon izvršavanja naredbe “logrotate”:

Primjer 6: Upotreba Logrotate Missingok

Napravite ili izmijenite datoteku “/etc/tmp/logrotate.conf” sa sljedećim postavkama. Ovdje datoteka dnevnika “testfile.log” ne postoji u mapi “/var/log”.

/ bio je / log / testfile.log {

njegov korijen adm

rotirati 5

veličina 1 k

oblog

}

Nakon izvršavanja naredbe “logrotate” ispisuje se poruka o pogrešci.

Dodajte postavku “missingok” u konfiguracijsku datoteku logrotate i ponovno pokrenite naredbu “logrotate”. Ne ispisuje se pogreška za datoteku dnevnika koja nedostaje.

Primjer 7: Upotreba Logrotate Prerotate

Napravite Bash datoteku pod nazivom 'test.sh' sa sljedećom skriptom koja ispisuje jednostavnu poruku. Datoteka se koristi u ovom primjeru logrotate da pokaže korištenje prerotate u konfiguracijskoj datoteci logrotate.

test.sh



#!/bin/bash

jeka 'logrotiraj primjere...'

Nakon što stvorite datoteku, pokrenite sljedeću naredbu da biste postavili dozvolu za izvođenje ove datoteke za sve korisnike:

$ chmod a+x / Dom / razumijevanje / test.sh

Sada stvorite ili izmijenite datoteku “/etc/tmp/logrotate.conf” sa sljedećim postavkama. Prema postavkama, logrotate čuva pet unosa dnevnika ako veličina datoteke dnevnika premašuje 1K, a datoteka 'test.sh' se izvršava prije rotacije.

/ bio je / log / test.log {

njegov korijen adm

rotirati 5

veličina 1 k

prerotiran

/ Dom / razumijevanje / test.sh

endscript

}

Izlaz datoteke 'test.sh' prikazuje se nakon izvršavanja naredbe 'logrotate':

Zaključak

Različite upotrebe naredbe “logrotate” prikazane su u ovom vodiču korištenjem više primjera koji će pomoći korisniku Linuxa da se upozna s korištenjem naredbe i pravilno upravlja datotekama dnevnika.