LOGROTATE(8)

NUME

logrotate - rotește, comprimă și trimite prin poștă jurnalele de sistem

SINOPSIS

logrotate [--force] [--debug] [--state fișier] [--skip-state-lock] [--wait-for-state-lock] [--verbose] [--log fișier] [--mail comandă] fișier-configurare [fișier-configurare2 ...]

DESCRIERE

logrotate este conceput pentru a ușura administrarea sistemelor care generează un număr mare de fișiere jurnal. Permite rotirea, comprimarea, eliminarea și trimiterea automată a fișierelor jurnal. Fiecare fișier jurnal poate fi gestionat zilnic, săptămânal, lunar sau atunci când devine prea mare.

În mod normal, logrotate este rulat ca o sarcină cron zilnică. Acesta nu va modifica un jurnal mai mult de o dată într-o zi, cu excepția cazului în care criteriul pentru jurnalul respectiv se bazează pe dimensiunea jurnalului, iar logrotate este rulat mai mult de o dată în fiecare zi sau dacă nu se utilizează opțiunea -f sau --force.

În linia de comandă se poate introduce orice număr de fișiere de configurare. Fișierele de configurare ulterioare pot anula opțiunile date în fișierele anterioare, astfel încât ordinea în care sunt enumerate fișierele de configurare logrotate este importantă. În mod normal, ar trebui să se utilizeze un singur fișier de configurare care să includă orice alte fișiere de configurare necesare. A se vedea mai jos pentru mai multe informații despre cum se utilizează directiva include pentru a realiza acest lucru. În cazul în care se indică un director în linia de comandă, fiecare fișier din acel director este utilizat ca fișier de configurare.

Dacă nu se dau argumente în linia de comandă, logrotate va imprima informații despre versiune și drepturile de autor, împreună cu un scurt rezumat al utilizării. În cazul în care apar erori în timpul rotirii jurnalelor, logrotate va ieși cu o stare diferită de zero, deși fișierul de stare va fi actualizat.

OPȚIUNI

-f, --force
    Îi indică lui logrotate să forțeze rotația, chiar dacă nu crede că acest lucru este necesar. Uneori, acest lucru este util după adăugarea de noi intrări într-un fișier de configurare logrotate sau dacă vechile fișiere de jurnal au fost eliminate manual, deoarece noile fișiere vor fi create, iar jurnalizarea va continua corect.

-d, --debug
    Activează modul de depanare, ceea ce înseamnă că nu se face nicio modificare în jurnale și că fișierul de stare logrotate nu este actualizat. Sunt afișate doar mesajele de depanare.

-s, --state fișier-stare
    Îi indică lui logrotate să utilizeze un fișier de stare alternativ. Acest lucru este util în cazul în care logrotate este rulat ca un utilizator diferit pentru diferite seturi de fișiere jurnal. Pentru a preveni execuția paralelă, logrotate dobândește în mod implicit un blocaj asupra fișierului de stare; dacă acesta nu poate fi obținut, logrotate va ieși cu valoarea 3. Fișierul de stare implicit este /var/lib/logrotate/status. Dacă /dev/null este dat ca fișier de stare, atunci logrotate nu va încerca să blocheze sau să scrie în fișierul de stare.

--skip-state-lock
    Nu blochează fișierul de stare, de exemplu, în cazul în care blocarea nu este admisă sau este interzisă.

--wait-for-state-lock
    Așteaptă până când blocajul asupra fișierului de stare este eliberat de un alt proces «logrotate». Această opțiune poate face ca logrotate să aștepte la nesfârșit. A se utiliza cu prudență.

-v, --verbose
    Activează modul descriptiv, de exemplu pentru a afișa mesaje în timpul rotației.

-l, --log fișier
    Îi indică lui logrotate să înregistreze ieșirea detaliată în fișierul log_file. Ieșirea detaliată înregistrată în acest fișier este aceeași ca atunci când se execută logrotate cu opțiunea -v. Fișierul jurnal este suprascris la fiecare execuție logrotate.

-m, --mail comandă
    Îi indică lui logrotate ce comandă să folosească atunci când trimite jurnalele prin poștă. Această comandă trebuie să accepte următoarele argumente:

    1) subiectul mesajului dat cu "-s subiect"
    2) destinatarul.

    Comanda trebuie apoi să citească un mesaj de la intrarea standard și să îl trimită prin poștă destinatarului. Comanda de poștă electronică implicită este /usr/bin/mail.

--usage
    Afișează un scurt mesaj de utilizare.

-?, --help
    Afișează un mesaj de ajutor.

--version
    Afișează informațiile despre versiune.

FIȘIER DE CONFIGURARE

logrotate citește toate informațiile despre fișierele jurnal pe care ar trebui să le gestioneze din seria de fișiere de configurare specificate în linia de comandă. Fiecare fișier de configurare poate stabili opțiuni globale (definițiile locale le anulează pe cele globale, iar definițiile ulterioare le anulează pe cele anterioare) și poate specifica fișierele jurnal care trebuie rotite. Opțiunile globale nu afectează directivele de includere precedente. Un fișier de configurare simplu arată astfel:

# exemplu de fișier de configurare a rotirii jurnalului
compress

/var/log/messages {
    rotate 5
    weekly
    postrotate
        /usr/bin/killall -HUP syslogd
    endscript
}

"/var/log/httpd/access.log" /var/log/httpd/error.log {
    rotate 5
    mail destinatar@example.org
    size 100k
    sharedscripts
    postrotate
        /usr/bin/killall -HUP httpd
    endscript
}

/var/log/news/* {
    monthly
    rotate 2
    olddir /var/log/news/old
    missingok
    sharedscripts
    postrotate
        kill -HUP $(cat /var/run/inn.pid)
    endscript
    nocompress
}

~/log/*.log {}

Primele câteva linii stabilesc opțiunile globale; în exemplu, jurnalele sunt comprimate după ce sunt rotite. Rețineți că liniile de comentarii pot apărea oriunde în fișierul de configurare, atâta timp cât primul caracter de pe linie care nu este un spațiu alb este un #.

Valorile sunt separate de directive prin spații albe și/sau un = opțional. Numerele trebuie să fie specificate într-un format înțeles de strtoul(3).

Următoarea secțiune a fișierului de configurare definește modul de gestionare a fișierului jurnal /var/log/messages. Jurnalul va trece prin cinci rotații săptămânale înainte de a fi eliminat. După ce fișierul jurnal a fost rotit (dar înainte ca vechea versiune a jurnalului să fie comprimată), se va executa comanda /usr/bin/killall -HUP syslogd.

Următoarea secțiune definește parametrii atât pentru /var/log/httpd/access.log, cât și pentru /var/log/httpd/error.log. Fiecare este rotit ori de câte ori crește peste 100 kiloocteți în dimensiune, iar vechile fișiere jurnal sunt trimise prin poștă (necomprimate) la destinatar@example.org după ce au trecut prin 5 rotații, în loc să fie eliminate. sharedscripts înseamnă că scriptul postrotate va fi rulat o singură dată pentru această secțiune, nu o dată pentru fiecare jurnal care este rotit. Rețineți că numele fișierelor de jurnal pot fi incluse între ghilimele (și că ghilimelele sunt necesare dacă numele conține spații). Se aplică regulile normale de citare din shell, fiind acceptate caracterele ', " și \.

Următoarea secțiune definește parametrii pentru toate fișierele din /var/log/news. Fiecare fișier este rotit lunar.

Ultima secțiune utilizează expansiunea cu tilde pentru a roti fișierele jurnal din directorul personal al utilizatorului curent. Acest lucru este disponibil numai dacă biblioteca glob acceptă expansiunea tildei. GNU glob acceptă acest lucru.

Vă rugăm să folosiți caractere joker cu prudență. Dacă specificați *, logrotate va roti toate fișierele, inclusiv cele rotite anterior. O modalitate de a evita acest lucru este să utilizați directiva olddir sau un caracter joker mai exact (cum ar fi *.log).

Vă rugăm să rețineți că, în mod implicit, atunci când se utilizează systemd(1), opțiunea ProtectSystem=full este definită în fișierul logrotate.service. Acest lucru împiedică logrotate să modifice jurnalele din /etc și /usr.

Iată mai multe informații cu privire la directivele care pot fi incluse într-un fișier de configurare logrotate:

DIRECTIVELE DIN FIȘIERUL DE CONFIGURARE
Aceste directive pot fi incluse într-un fișier de configurare logrotate:

  Rotirea

rotate număr
    Fișierele de jurnal sunt rotite de număr ori înainte de a fi eliminate sau trimise prin poștă la adresa specificată într-o directivă mail. Dacă număr este 0, versiunile vechi sunt eliminate în loc să fie rotite. Dacă număr este -1, jurnalele vechi nu sunt eliminate deloc, cu excepția faptului că sunt afectate de maxage (a se utiliza cu prudență, poate irosi performanță și spațiu pe disc). Valoarea implicită este 0.

olddir director
    Jurnalele sunt mutate în directorul pentru rotație. directorul trebuie să se afle pe același dispozitiv fizic ca și fișierul jurnal care se rotește, cu excepția cazului în care se utilizează opțiunea copy, copytruncate sau renamecopy. Se presupune că directorul este relativ la directorul care conține fișierul jurnal, cu excepția cazului în care se specifică un nume de rută absolut. Atunci când se utilizează această opțiune, toate versiunile vechi ale jurnalului ajung în director. Această opțiune poate fi înlocuită de opțiunea noolddir.

noolddir
    Jurnalele sunt rotite în directorul în care se află în mod normal (acest lucru prevalează asupra opțiunii olddir).

su utilizator grup
    Rotește fișierele de jurnal definite sub acest utilizator și grup, în loc să utilizeze utilizatorul/grupul implicit (de obicei root). utilizator specifică utilizatorul utilizat pentru rotație, iar grup specifică grupul utilizat pentru rotație (a se vedea secțiunea UTILIZATOR ȘI GRUP pentru detalii). În cazul în care utilizatorul/grupul pe care îl specificați aici nu are suficiente privilegii pentru a crea fișiere cu proprietatea pe care ați specificat-o într-o directivă create, se va produce o eroare. Dacă logrotate se execută cu privilegii de root, se recomandă să utilizați directiva su pentru a roti fișierele din directoare care se află direct sau indirect sub controlul utilizatorilor fără privilegii.

  Frecvența

hourly
    Fișierele de jurnal sunt rotite la fiecare oră. Rețineți că, de obicei, logrotate este configurat pentru a fi rulat zilnic de cron (sau de logrotate.timer atunci când se utilizează systemd(1)). Trebuie să modificați această configurație și să rulați logrotate din oră în oră pentru a putea roti cu adevărat jurnalele din oră în oră.

daily
    Fișierele jurnal sunt rotite în fiecare zi.

weekly [ziua-din-săptămână]
    Fișierele de jurnal sunt rotite o dată la fiecare ziua-din-săptămână, sau dacă data este avansată cu cel puțin 7 zile de la ultima rotație (ignorând ora exactă). Interpretarea zilei-din-săptămână este următoarea: 0 înseamnă duminică, 1 înseamnă luni, ...., 6 înseamnă sâmbătă; valoarea specială 7 înseamnă fiecare 7 zile, indiferent de ziua săptămânii. Valoarea implicită este 0 dacă argumentul ziua-din-săptămână este omis.

monthly
    Fișierele de jurnal sunt rotite prima dată când se execută logrotate într-o lună (în mod normal, în prima zi a lunii).

yearly
    Fișierele de jurnal sunt rotite dacă anul curent nu este același cu cel al ultimei rotații.

size dimensiune
    Fișierele de jurnal sunt rotite numai dacă cresc mai mult de dimensiune octeți. Dacă dimensiune este urmat de k, se presupune că dimensiunea este în kiloocteți. Dacă se folosește M, dimensiunea este în megaocteți, iar dacă se folosește G, dimensiunea este în gigaocteți. Astfel, size 100, size 100k, size 100M și size 100G sunt toate valabile. Această opțiune se exclude reciproc cu opțiunile privind intervalul de timp și face ca fișierele jurnal să fie rotite fără a se ține cont de ultima dată de rotație, dacă este specificată după criteriul de timp (ultima opțiune specificată are prioritate).

  Selectare fișier

missingok
    Dacă lipsește fișierul jurnal, se trece la următorul fără a se emite un mesaj de eroare. A se vedea, de asemenea, nomissingok.

nomissingok
    În cazul în care nu există un fișier jurnal, se emite o eroare. Aceasta este opțiunea implicită.

ignoreduplicates
    Ignoră toate următoarele potriviri ale unui fișier jurnal.

ifempty
    Rotește fișierul jurnal chiar dacă acesta este gol, înlocuind opțiunea notifempty (ifempty este opțiunea implicită).

notifempty
    Nu rotește jurnalul dacă acesta este gol (aceasta înlocuiește opțiunea ifempty).

minage număr
    Nu rotește jurnalele care au o vechime mai mică de <număr> zile.

maxage număr
    Elimină jurnalele rotite mai vechi de <număr> zile. Vechimea este verificată numai dacă fișierul jurnal trebuie să fie rotit. rotate -1 nu împiedică eliminarea. Fișierele sunt trimise prin poștă la adresa configurată dacă sunt configurate maillast și mail.

minsize dimensiune
    Fișierele jurnal sunt rotite atunci când cresc mai mult de dimensiune octeți, dar nu înainte de intervalul de timp specificat suplimentar (daily, weekly, monthly, sau yearly). Opțiunea conexă size este similară, cu excepția faptului că se exclude reciproc cu opțiunile de interval de timp și determină ca fișierele jurnal să fie rotite fără a se ține cont de ultimul timp de rotație, dacă este specificată după criteriul de timp (ultima opțiune specificată are prioritate). Atunci când se utilizează minsize, se iau în considerare atât dimensiunea, cât și data și ora unui fișier jurnal.

maxsize dimensiune
    Fișierele jurnal sunt rotite atunci când cresc mai mult de dimensiune octeți, chiar înainte de intervalul de timp specificat suplimentar (daily, weekly, monthly, sau yearly). Opțiunea conexă size este similară, cu excepția faptului că se exclude reciproc cu opțiunile privind intervalul de timp și face ca fișierele jurnal să fie rotite fără a se ține cont de ultimul timp de rotație, dacă este specificat după criteriul de timp (ultima opțiune specificată are prioritate). Atunci când se utilizează maxsize, se iau în considerare atât dimensiunea, cât și data și ora unui fișier jurnal.

tabooext [+] listă
    Se modifică lista curentă de extensii tabu (a se vedea directiva include pentru informații despre extensiile tabu). Dacă un + precede lista de extensii, lista curentă de extensii tabu este mărită, în caz contrar este înlocuită. La pornire, lista de extensii tabu ,v, .bak, .cfsaved, .disabled, .dpkg-bak, .dpkg-del, .dpkg-dist, .dpkg-new, .dpkg-old, .dpkg-tmp, .new, .old, .orig, .rhn-cfg-tmp-*, .rpmnew, .rpmorig, .rpmsave, .swp, .ucf-dist, .ucf-new, .ucf-old, ~

taboopat [+] listă
    Se modifică lista curentă de modele globale tabu (a se vedea directiva include pentru informații privind extensiile și modelele tabu). Dacă lista de modele este precedată de un +, lista de modele tabu curentă este mărită, altfel este înlocuită. La pornire, lista de modele tabu este goală.

  Fișiere și dosare

create mod proprietar grup, create proprietar grup
    Imediat după rotație (înainte de rularea scriptului postrotate), se creează fișierul jurnal (cu același nume ca și fișierul jurnal care tocmai a fost rotit). mod specifică modul pentru fișierul jurnal în octal (la fel ca chmod(2)), proprietar specifică utilizatorul care va deține fișierul jurnal, iar grup specifică grupul din care va face parte fișierul jurnal (a se vedea secțiunea UTILIZATOR ȘI GRUP pentru detalii). Oricare dintre atributele fișierului jurnal poate fi omis, caz în care aceste atribute pentru noul fișier vor folosi aceleași valori ca și în cazul fișierului jurnal original pentru atributele omise. Această opțiune poate fi dezactivată cu ajutorul opțiunii nocreate.

nocreate
    Nu se creează fișiere jurnal noi (această opțiune înlocuiește opțiunea create).

createolddir mod [proprietar [grup]], createolddir [proprietar [grup]]
    În cazul în care directorul specificat de directiva olddir nu există, acesta este creat. mod specifică modul pentru directorul olddir în octal (la fel ca chmod(2)), proprietar specifică utilizatorul care va deține directorul olddir, iar grup specifică grupul din care va face parte directorul olddir (a se vedea secțiunea UTILIZATOR ȘI GRUP pentru detalii). Dacă mod nu este specificat, se presupune că este 0755. Această opțiune poate fi dezactivată cu ajutorul opțiunii nocreateolddir.

nocreateolddir
    Directorul olddir nu este creat de logrotate atunci când acesta nu există.

copy
    Face o copie a fișierului jurnal, dar nu modifică deloc originalul. Această opțiune poate fi utilizată, de exemplu, pentru a realiza o imagine instantanee a fișierului jurnal curent sau atunci când un alt instrument trebuie să trunchieze sau să analizeze fișierul. Atunci când se utilizează această opțiune, opțiunea create nu va avea niciun efect, deoarece vechiul fișier jurnal rămâne la locul lui. Opțiunea copy permite stocarea fișierelor jurnal rotite pe diferite dispozitive, utilizând directiva olddir.

nocopy
    Nu copiază fișierul jurnal original și nu-l lăsa la locul lui (acest lucru anulează opțiunea copy).

copytruncate
    Reduce fișierul jurnal original la dimensiunea zero după crearea unei copii, în loc să mute vechiul fișier jurnal și, opțional, să creeze unul nou. Poate fi utilizată atunci când nu se poate spune unui program să își închidă fișierul jurnal și, prin urmare, ar putea continua să scrie (să adauge) la fișierul jurnal anterior pentru totdeauna. Rețineți că există un interval de timp foarte mic între copierea fișierului și trunchierea acestuia, astfel încât unele date de jurnalizare ar putea fi pierdute. Atunci când se utilizează această opțiune, opțiunea create nu va avea niciun efect, deoarece vechiul fișier jurnal rămâne pe loc. Opțiunea copytruncate permite stocarea fișierelor de jurnal rotite pe diferite dispozitive folosind directiva olddir. Opțiunea copytruncate implică norenamecopy.

nocopytruncate
    Nu trunchiază fișierul jurnal original pe loc după crearea unei copii (aceasta înlocuiește opțiunea copytruncate).

renamecopy
    Fișierul jurnal este redenumit în fișier temporar în același director, adăugându-i extensia „.tmp”. După aceea, se execută scriptul postrotate și fișierul jurnal este copiat din numele de fișier temporar în numele de fișier final. La final, numele de fișier temporar este eliminat. Opțiunea renamecopy permite stocarea fișierelor de jurnal rotite pe diferite dispozitive folosind directiva olddir. Opțiunea renamecopy implică nocopytruncate.

norenamecopy
    Nu redenumește și nu copiază fișierul jurnal original (aceasta înlocuiește opțiunea renamecopy).

shred
    Șterge fișierele jurnal folosind shred -u în loc de unlink(). Acest lucru ar trebui să asigure că jurnalele nu pot fi citite după ștergerea lor programată; acest lucru este dezactivat în mod implicit. A se vedea, de asemenea, noshred.

noshred
    Nu se utilizează shred la ștergerea fișierelor de jurnal vechi. A se vedea, de asemenea, shred.

shredcycles număr
    Cere GNU shred(1) să suprascrie fișierele jurnal de număr ori înainte de ștergere. Fără această opțiune, se va utiliza valoarea implicită a lui shred.

allowhardlink
    Rotește fișierele cu mai multe legături dure; această opțiune este dezactivată în mod implicit. Este posibil ca fișierul țintă să fie golit, de exemplu, cu shred sau copytruncate. Utilizați cu prudență, mai ales când fișierele jurnal sunt rotite ca root.

noallowhardlink
    Nu rotește fișierele cu mai multe legături dure. A se vedea, de asemenea, allowhardlink.

  Comprimare

compress
    Versiunile vechi ale fișierelor jurnal sunt comprimate în mod implicit cu gzip(1). A se vedea, de asemenea, nocompress.

nocompress
    Versiunile vechi ale fișierelor jurnal nu sunt comprimate. A se vedea, de asemenea, compress.

compresscmd
    Specifică ce comandă se utilizează pentru a comprima fișierele jurnal. Valoarea implicită este gzip(1). A se vedea, de asemenea, compress.

uncompresscmd
    Specifică ce comandă se utilizează pentru a decomprima fișierele jurnal. Valoarea implicită este gunzip(1).

compressext
    Specifică extensia care trebuie utilizată pentru fișierele jurnal comprimate, dacă este activată comprimarea. Valoarea implicită urmează cea a comenzii de comprimare configurate.

compressoptions
    Opțiunile liniei de comandă pot fi transmise programului de comprimare, în cazul în care este utilizat unul. Valoarea implicită, pentru gzip(1), este „-6” (orientată spre o comprimare ridicată în detrimentul vitezei). Dacă utilizați o altă comandă de comprimare, este posibil să fie necesar să modificați compressoptions pentru a se potrivi.

delaycompress
    Amână comprimarea fișierului jurnal anterior pentru următorul ciclu de rotație. Aceasta are efect numai atunci când este utilizată în combinație cu compress. Poate fi utilizată atunci când nu se poate transmite unui program să își închidă fișierul jurnal și, prin urmare, ar putea continua să scrie în fișierul jurnal anterior pentru o perioadă de timp.

nodelaycompress
    Nu amâna comprimarea fișierului jurnal anterior până la următorul ciclu de rotație (această opțiune anulează opțiunea delaycompress).

  Nume fișiere

extension extensie
    Fișierele jurnal cu extensia extensie pot fi păstrate după rotație. În cazul în care se utilizează comprimarea, extensia de comprimare (în mod normal .gz) apare după extensie. De exemplu, aveți un fișier jurnal numit mylog.foo și doriți să îl rotiți în mylog.1.foo.gz în loc de mylog.foo.1.gz.

addextension extensie
    Fișierele jurnal primesc extensia finală extensie după rotație. În cazul în care fișierul original se termină deja cu extensie, extensia nu este dublată, ci doar mutată la sfârșit, adică atât nume-fișier, cât și nume-fișierextensie vor fi rotite în nume-fișier.1extensie. În cazul în care se utilizează comprimarea, extensia de comprimare (în mod normal, .gz) apare după extensie.

start număr
    Acesta este numărul care trebuie utilizat ca bază pentru rotație. De exemplu, dacă specificați 0, jurnalele vor fi create cu extensia .0 pe măsură ce sunt rotite din fișierele jurnal originale. Dacă specificați 9, fișierele jurnal vor fi create cu extensia .9, sărind peste 0–8. Fișierele vor fi în continuare rotite de numărul de ori specificat cu directiva rotate.

dateext
    Arhivează versiunile vechi ale fișierelor de jurnal adăugând o extensie de dată, cum ar fi AAAALLZZ, în loc să adauge pur și simplu un număr. Extensia poate fi configurată cu ajutorul opțiunilor dateformat și dateyesterday.

nodateext
    Nu arhivează versiunile vechi ale fișierelor de jurnal cu extensie de dată (aceasta înlocuiește opțiunea dateext).

dateformat șir-format
    Specifică extensia pentru dateext folosind o notație similară cu cea a funcției strftime(3). Sunt permise numai specificatorii %Y %m %d %H %M %S %V %s și %z. Valoarea implicită este -%Y%m%d, cu excepția orei, care utilizează -%Y%m%d%H ca valoare implicită. Rețineți că și caracterul care separă numele jurnalului de extensie face parte din șirul de format de dată. Ceasul sistemului trebuie să fie reglat după 9 septembrie 2001 pentru ca %s să funcționeze corect. Rețineți că datele generate de acest format trebuie să poată fi sortate lexical (adică mai întâi anul, apoi luna și apoi ziua. De exemplu, 2001/12/01 este în regulă, dar nu și 01/12/2001, deoarece 01/11/2002 ar fi mai mică în timp ce aceasta este mai târziu). Acest lucru se datorează faptului că atunci când se utilizează opțiunea rotate, logrotate sortează toate numele de fișiere rotite pentru a afla care fișiere de jurnal sunt mai vechi și ar trebui eliminate.

dateyesterday
    Utilizează data de ieri în loc de data de astăzi pentru a crea extensia dateext, astfel încât fișierul jurnal rotit să aibă o dată în nume care este aceeași cu marcajele de timp din el.

datehourago
    Utilizează ora precedentă în loc de data curentă pentru a crea extensia dateext, astfel încât fișierul de jurnal rotit să aibă o oră în numele său care este aceeași cu marcajele de timp din el. Utilă cu rotate hourly.

  Corespondența

mail adresa
    Când un jurnal este eliminat prin rotație, acesta este trimis prin poștă la adresa. În cazul în care un anumit jurnal nu trebuie să genereze niciun mesaj, se poate utiliza directiva nomail.

nomail
    Nu trimite fișierele jurnal vechi la nicio adresă.

mailfirst
    Atunci când se utilizează comanda mail, trimite prin poștă fișierul care tocmai a fost rotit, în loc de fișierul care urmează să expire.

maillast
    Atunci când se utilizează comanda mail, trimite prin poștă fișierul care urmează să expire, în loc de fișierul care tocmai a fost rotit (aceasta este valoarea implicită).

  Fișiere de configurare suplimentare

include fișier_sau_director
    Citește fișierul dat ca argument ca și cum ar fi inclus „inline” acolo unde apare directiva include. Dacă este dat un director, majoritatea fișierelor din acel director sunt citite în ordine alfabetică înainte de a continua procesarea fișierului inclus. Singurele fișiere care sunt ignorate sunt fișierele care nu sunt fișiere obișnuite (cum ar fi directoare și conductele cu nume) și fișierele ale căror nume se termină cu una dintre extensiile sau modelele tabu, așa cum se specifică prin directivele tabooext sau, respectiv, taboopat. Ruta dată poate începe cu ~/ pentru a o face relativă la directorul personal al utilizatorului care execută. Din motive de securitate, fișierele de configurare nu trebuie să poată fi scrise de grup și nici de către toți ceilalți utilizatori.

  Scripturi

sharedscripts
    În mod normal, scripturile prerotate și postrotate sunt rulate pentru fiecare jurnal care este rotit, iar ruta absolută a fișierului jurnal este trecută ca prim argument al scriptului. Aceasta înseamnă că un singur script poate fi rulat de mai multe ori pentru intrările din fișierele jurnal care corespund mai multor fișiere (cum ar fi exemplul /var/log/news/*). Dacă se specifică sharedscripts, scripturile sunt rulate o singură dată, indiferent de numărul de jurnale care se potrivesc cu modelul joker, iar modelul întreg le este transmis. Cu toate acestea, dacă niciunul dintre jurnalele din model nu necesită rotire, scripturile nu vor fi rulate deloc. În cazul în care scripturile ies cu o eroare (sau orice jurnal nu se rotește), acțiunile rămase nu vor fi executate pentru niciun jurnal. Această opțiune anulează opțiunea nosharedscripts.

nosharedscripts
    Rulează scripturile prerotate și postrotate pentru fiecare fișier jurnal care este rotit (aceasta este opțiunea implicită și înlocuiește opțiunea sharedscripts). Ruta absolută către fișierul jurnal este transmisă ca prim argument pentru script. Ruta absolută către fișierul jurnal rotit final este transmisă ca al doilea argument pentru scriptul postrotate. În cazul în care scripturile ies cu eroare, acțiunile rămase nu vor fi executate decât pentru jurnalul afectat.

    firstaction script scriptul endscript este executat o singură dată înainte ca toate fișierele jurnal care se potrivesc cu modelul de tip joker să fie rotite, înainte ca scriptul de prerotație să fie rulat și numai dacă cel puțin un jurnal va fi efectiv rotit. Aceste directive pot apărea numai în interiorul unei definiții de fișier jurnal. Întregul model este transmis scriptului ca prim argument. În cazul în care scriptul iese cu o eroare, nu se mai face nici o prelucrare. A se vedea, de asemenea, lastaction și secțiunea SCRIPTURI.

    lastaction script scriptul endscript este executat o singură dată după ce toate fișierele jurnal care corespund modelului de tip joker sunt rotite, după ce scriptul postrotație este rulat și numai dacă cel puțin un jurnal este rotit. Aceste directive pot apărea numai în interiorul unei definiții de fișier jurnal. Întregul model este transmis scriptului ca prim argument. În cazul în care scriptul iese cu o eroare, se afișează doar un mesaj de eroare (deoarece aceasta este ultima acțiune). A se vedea, de asemenea, firstaction și secțiunea SCRIPTURI.

    prerotate script Scriptul endscript este executat înainte ca fișierul jurnal și vechile jurnale ale acestuia să fie rotite și numai dacă jurnalul va fi într-adevăr rotit. Aceste directive pot apărea numai în interiorul unei definiții de fișier jurnal. În mod normal, ruta absolută a fișierului jurnal este transmisă ca prim argument al scriptului. Dacă se specifică sharedscripts, întregul model este transmis scriptului. A se vedea, de asemenea, postrotate și secțiunea SCRIPTURI. A se vedea sharedscripts și nosharedscripts pentru gestionarea erorilor.

    postrotate script Scriptul endscript este executat după ce fișierul jurnal este rotit și înainte ca acesta să fie comprimat. Aceste directive pot apărea numai în interiorul unei definiții de fișier jurnal. În mod normal, ruta absolută a fișierului jurnal este trecută ca prim argument al scriptului, iar ruta absolută a fișierului jurnal rotit final este trecută ca al doilea argument al scriptului. Dacă se specifică sharedscripts, întregul model este transmis ca prim argument al scriptului, iar al doilea argument este omis. A se vedea, de asemenea, preprerotate și secțiunea SCRIPTURI. A se vedea sharedscripts și nosharedscripts pentru gestionarea erorilor.

    preremove script scriptul endscript este executat o singură dată, chiar înainte de eliminarea unui fișier jurnal. logrotate va trece ca prim argument al scriptului numele fișierului care urmează să fie eliminat. A se vedea, de asemenea, firstaction și secțiunea SCRIPTURI.

SCRIPTURI

Liniile dintre cuvântul cheie de început (de exemplu, prerotate) și endscript (ambele trebuie să apară pe linii de sine stătătoare) sunt executate (folosind /bin/sh). Scriptul moștenește unele trăsături de la procesul logrotate, inclusiv stderr, stdout, directorul curent, mediul și umask. Scripturile sunt executate ca utilizator și grup de invocare, indiferent de orice directivă su. În cazul în care a fost specificat opțiunea --log, descriptorul de fișier 3 este fișierul jurnal. Directorul de lucru curent nu este specificat.

UTILIZATOR ȘI GRUP

Identificatorii de utilizator și de grup se rezolvă mai întâi prin încercarea de reprezentare textuală și, în cazul în care aceasta eșuează, după aceea prin valoarea numerică.

FIȘIERE

/var/lib/logrotate/status | Fișierul de stare implicit.
/etc/logrotate.conf | Opțiunile de configurare.

CONSULTAȚI ȘI

chmod(2), gunzip(1), gzip(1), mail(1), shred(1), strftime(3), strtoul(3), <https://github.com/logrotate/logrotate>

AUTORI

Erik Troan, Preston Brown, Jan Kaluza.

<https://github.com/logrotate/logrotate>

TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.