Linux Logrotate Exemple

Linux Logrotate Exemple



Informațiile de jurnal sunt o parte foarte importantă a oricărui sistem de operare pentru a diagnostica problema oricărei aplicații care rulează, iar intrările de jurnal ajută la găsirea soluției problemei. Majoritatea aplicațiilor sistemului de operare Linux generează jurnalul, iar administratorul de sistem primește informațiile necesare despre aplicație din intrările de jurnal. Cu toate acestea, intrările de jurnal creează uneori probleme deoarece dimensiunea intrărilor devine mai mare cu timpul. Deci, intrările de jurnal sunt necesare pentru a le gestiona.

Logrotate este un instrument de linie de comandă al Linux pentru a gestiona intrările de jurnal. Acest instrument ajută la efectuarea diferitelor tipuri de sarcini privind intrările de jurnal de către administrator, cum ar fi limitarea fișierelor jurnal rotite, comprimarea fișierelor jurnal rotite, ștergerea fișierelor jurnal inutile, executarea unui script shell special bazat pe fișierele jurnal etc. a comenzii „logrorate” pentru gestionarea fișierelor jurnal în diferite moduri sunt prezentate în acest tutorial folosind mai multe exemple.

Verificați versiunea Logrotate instalată

Comanda „logrotate” este instalată implicit în noua versiune a sistemului de operare Ubuntu. Rulați următoarea comandă pentru a verifica versiunea instalată a comenzii „logrotate”:







$ logrotate --versiune



Intrările de jurnal ale diferitelor aplicații sunt stocate implicit în folderul „/var/log”. Următorul conținut similar va apărea dacă verificați conținutul folderului.



$ ls / a fost / Buturuga





Setați configurația „Logrotate”.

Valoare de setare Scop
zilnic/săptămânal/lunar/anual Acesta definește durata de timp pentru rotirea jurnalelor.
rotește numărul Acesta definește numărul de fișiere care vor fi păstrate înainte de a elimina vechile fișiere jurnal.
comprima Este folosit pentru a comprima fișierele jurnal.
comprescmd Este folosit pentru a seta comanda „comprimare”. Gzip este comanda implicită.
uncompresscmd Este folosit pentru a seta comanda „decomprimare”. Gunzip este comanda implicită.
delaycompress Este folosit pentru a întârzia procesul de comprimare a fișierelor jurnal.
notificare goală Este folosit pentru a nu roti fișierul gol.
lipsesc Dacă este setat, nu se generează nicio eroare pentru fișierele jurnal lipsă.
mărimea Este folosit pentru a seta limita pentru a începe rotirea fișierelor jurnal.
dateext Este folosit pentru a adăuga o valoare de dată ca sufix al fișierului de rotație.
copytruncate Este folosit pentru a crea o copie a fișierului original.
prerotate Este folosit pentru a rula un script înainte de a roti fișierele jurnal.
postrotate Este folosit pentru a rula un script după rotirea fișierelor jurnal.
crea Este folosit pentru a crea fișierele jurnal cu un privilegiu de root.

Sintaxă:

Sintaxa comenzii „logrotate” este dată după cum urmează:



logrotate [ OPȚIUNE ] config_file_path

Diferite tipuri de opțiuni pot fi utilizate în scopuri diferite cu comanda „logrotate”.

Opțiuni de rotație

Câteva opțiuni utile ale comenzii „logrotate” sunt menționate în cele ce urmează:

-f, –forță Este folosit pentru a face rotirea cu forță atunci când este necesar.
-d, –debug Este folosit pentru a activa modul de depanare în timpul rotației.
-m, –mail Este folosit pentru a trimite un e-mail în timpul rotației.
-s, –state Este folosit pentru fișiere de stat alternative.
– utilizare Este folosit pentru a tipări informațiile de utilizare.
-?, -Ajutor Este folosit pentru a tipări mesajele de ajutor.
-v, –verbos Este folosit pentru a imprima în modul verbose.

Fișier de configurare Logrotate

Fișierul principal de configurare logrotate este localizat în locația „/etc/logrotate.conf”. Rulați următoarea comandă pentru a deschide fișierul în editorul nano:

$ nano / etc / logrotate.conf

Setarea implicită a comenzii „logrotate” este afișată în fișierul „logrotate.conf”. Directiva „include” este utilizată în fișier pentru a prelua configurația care se află în directorul „/etc/logrotate.d”.

Exemplul 1: Creați un fișier de configurare Locrotate simplu

Creați un fișier jurnal eșantion numit „/var/log/test.log” cu datele de jurnal eșantion. Rulați următoarea comandă pentru a deschide editorul nano pentru a crea un nou fișier „logrotate.conf” în locația folderului „/etc/tmp”. Creați folderul „/tmp” cu privilegii de rădăcină dacă nu a fost creat înainte.

$ nano / etc / tmp / logrotate.conf

Adăugați următorul conținut în fișierul pentru fișierul „/var/log/test.log”. Conform setărilor, fișierul „test.log” va fi rotit zilnic dacă dimensiunea fișierului depășește 5K:

/ a fost / Buturuga / test.log {

zilnic

mărimea 5K

a lui adm rădăcină

}

Rulați următoarea comandă pentru a verifica dimensiunea fișierului jurnal:

$ ls -l / a fost / Buturuga / test.log

Rulați comanda „logrotate” după crearea fișierului de configurare.

$ sudo logrotate / etc / tmp / logrotate.conf

Rulați din nou următoarea comandă pentru a verifica dimensiunea fișierului jurnal după executarea comenzii „logrotate”:

$ ls -l / a fost / Buturuga / test.log

Dimensiunea fișierului „test.log” este de 1K+. Deci, nu se face nicio rotație pe baza setărilor de configurare.

Schimbați valoarea dimensiunii la 1K în fișierul „/etc/tmp/logrotate.conf” și rulați din nou comanda „ls” pentru a verifica dimensiunea fișierului „/var/log/test.log”. Conform rezultatelor, fișierul jurnal este rotit și șters deoarece limita de dimensiune este depășită.

Exemplul 2: Utilizarea Logrotate Copytruncate

Creați sau modificați fișierul „/etc/tmp/logrotate.conf” cu următoarele setări pentru a arăta utilizarea copytruncate. În conformitate cu noile setări, logrotate creează o copie a fișierului original făcând dimensiunea fișierului original la zero.

/ a fost / Buturuga / test.log {

roti 5

mărimea 1 k

copytruncate

a lui adm rădăcină

}

Rulați următoarea comandă pentru a verifica dimensiunea fișierului „test.log”:

$ ls -l / a fost / Buturuga / test.log

Rulați comanda „logrotate” după crearea fișierului de configurare.

$ sudo logrotate / etc / tmp / logrotate.conf

Rulați următoarea comandă din nou pentru a verifica dimensiunea fișierului „test.log” după executarea comenzii „logrotate”:

$ ls -l / a fost / Buturuga / test.log

Dimensiunea originală a fișierului devine 0 după executarea comenzii „logrotate” pentru setarea copytruncate.

Exemplul 3: Utilizarea Logrotate Compress

Creați sau modificați fișierul „/etc/tmp/logrotate.conf” cu următoarele setări pentru a arăta utilizarea compresei. Conform noilor setări, logrotate creează un fișier comprimat al fișierului original.

/ a fost / Buturuga / test.log {

roti 5

mărimea 1 k

comprima

crea 770 adm rădăcină

}

Rulați următoarea comandă pentru a verifica lista fișierelor și folderelor din „/var/log”:

$ ls / a fost / Buturuga /

Rulați comanda „logrotate” după crearea fișierului de configurare.

$ sudo logrotate / etc / tmp / logrotate.conf

Rulați următoarea comandă din nou pentru a verifica lista fișierelor și folderelor din „/var/log”:

$ ls / a fost / Buturuga /

Fișierul comprimat al fișierului „test.log” este creat cu numele „test.log.1.gz” și fișierul original este eliminat.

Exemplul 4: Utilizarea Logrotate Dateext

Creați sau modificați fișierul „/etc/tmp/logrotate.conf” cu următoarele setări pentru a afișa utilizarea dateext. Conform noilor setări, logrotate creează un fișier comprimat al fișierului original cu valoarea datei.

a fost / Buturuga / test.log {

a lui adm rădăcină

roti 5

mărimea 1 k

comprima

crea 770 adm rădăcină

dateext

}

Rulați comanda „logrotate” după crearea fișierului de configurare.

$ sudo logrotate / etc / tmp / logrotate.conf

Rulați următoarea comandă pentru a verifica lista fișierelor și folderelor din „/var/log”:

$ ls -l / a fost / Buturuga /

Fișierul comprimat al fișierului „test.log” este creat cu numele „test.log.20240129.gz” și fișierul original este eliminat.

Exemplul 5: Utilizarea Logrotate Maxage

Creați sau modificați fișierul „/etc/tmp/logrotate.conf” cu următoarele setări pentru a arăta utilizarea maxage-ului. Conform setărilor, logrotate păstrează cinci intrări de jurnal dacă dimensiunea fișierului jurnal depășește 1K după o zi.

/ a fost / Buturuga / test.log {

a lui adm rădăcină

roti 5

mărimea 1 k

comprima

maxage 1

}

Rulați următoarea comandă „logrotate” pentru a stoca rezultatul într-un alt fișier jurnal numit „out.log”:

$ sudo logrotate -s = / a fost / Buturuga / out.log / etc / tmp / logrotate.conf

Conform următoarei rezultate, fișierul „out.log” este creat după executarea comenzii „logrotate”:

Exemplul 6: Utilizarea Logrotate Missingok

Creați sau modificați fișierul „/etc/tmp/logrotate.conf” cu următoarele setări. Aici, fișierul jurnal „testfile.log” nu există în folderul „/var/log”.

/ a fost / Buturuga / testfile.log {

a lui adm rădăcină

roti 5

mărimea 1 k

comprima

}

Un mesaj de eroare este tipărit după executarea comenzii „logrotate”.

Adăugați setarea „missingok” în fișierul de configurare logrotate și executați din nou comanda „logrotate”. Nu este tipărită nicio eroare pentru fișierul jurnal lipsă.

Exemplul 7: Utilizarea Logrotate Prerotate

Creați un fișier Bash numit „test.sh” cu următorul script care imprimă un mesaj simplu. Fișierul este folosit în acest exemplu de logrotate pentru a arăta utilizarea prerotate în fișierul de configurare logrotate.

test.sh



#!/bin/bash

ecou 'exemple logrotate...'

După crearea fișierului, rulați următoarea comandă pentru a seta permisiunea de execuție a acestui fișier pentru toți utilizatorii:

$ chmod a+x / Acasă / înţelegere / test.sh

Acum, creați sau modificați fișierul „/etc/tmp/logrotate.conf” cu următoarele setări. Conform setărilor, logrotate păstrează cinci intrări de jurnal dacă dimensiunea fișierului jurnal depășește 1K și fișierul „test.sh” este executat înainte de rotație.

/ a fost / Buturuga / test.log {

a lui adm rădăcină

roti 5

mărimea 1 k

  prerotate

/ Acasă / înţelegere / test.sh

script final

}

Ieșirea fișierului „test.sh” este afișată după executarea comenzii „logrotate”:

Concluzie

Diferitele utilizări ale comenzii „logrotate” sunt prezentate în acest tutorial folosind mai multe exemple care vor ajuta utilizatorul Linux să cunoască utilizările comenzii și să gestioneze corect fișierele jurnal.