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.konfZadana 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.konfDodajte 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.logPokrenite naredbu “logrotate” nakon izrade konfiguracijske datoteke.
$ sudo logrotirati / itd / tmp / logrotirati.konfPonovno pokrenite sljedeću naredbu da biste provjerili veličinu datoteke dnevnika nakon izvršavanja naredbe “logrotate”:
$ ls -l / bio je / log / test.logVelič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.logPokrenite naredbu “logrotate” nakon izrade konfiguracijske datoteke.
$ sudo logrotirati / itd / tmp / logrotirati.konfPonovno pokrenite sljedeću naredbu da provjerite veličinu datoteke 'test.log' nakon izvršavanja naredbe 'logrotate':
$ ls -l / bio je / log / test.logIzvorna 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.konfPonovno 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.confPokrenite 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.confPrema 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.shSada 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.