logrotate ‐ rotește, comprimă și
trimite prin poștă jurnalele de sistem
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 ...]
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.
- -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:
Aceste directive pot fi incluse într-un fișier de
configurare logrotate:
- 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.
- 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).
- 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.
- 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).
- 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.
- 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.
- 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.
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.
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ă.
| /var/lib/logrotate/status |
Fișierul de stare implicit. |
| /etc/logrotate.conf |
Opțiunile de configurare. |
Erik Troan, Preston Brown, Jan Kaluza.
<https://github.com/logrotate/logrotate>
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.