Scroll to navigation

LOGROTATE(8) Manualul administratorului de sistem 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

Î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.

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.

Î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.

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

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ță.

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

Î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.

Î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.

Afișează un scurt mesaj de utilizare.

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

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

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.

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.

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

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

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ă.

Fișierele jurnal sunt rotite în fiecare zi.

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.

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

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

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

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.

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

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

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

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

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

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.

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.

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.

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, ~

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

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.

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

Î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.

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

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.

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

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.

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

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.

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

Ș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.

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

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.

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.

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

Comprimare

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

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

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

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

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

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.

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.

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

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.

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.

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.

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.

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

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.

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.

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

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.

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

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.

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

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

Î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.

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.


    script

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.


    script

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.


    script

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.


    script

î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.


    script

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 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.

3.22.0 Linux