Puncte:1

Rotația nu se execută când dimensiunea fișierului atinge un anumit prag

drapel us

Am următoarele configurații în /etc/logrotate.d/rsyslog:

/var/log/syslog
{
        roteste 7
        dimensiunea 1G
        lipsingok
        notificare gol
        delaycompress
        comprima
        postrotate
          invoke-rc.d rsyslog roti >/dev/null
        script final
}

Din câte am înțeles, l-am configurat așa dacă /var/log/syslog ajunge 1G în mărime, se va roti singur. De asemenea, sistemul va menține 7 rotații.

La testare, am făcut asta:

cat /dev/null > /var/log/syslog
base64 /dev/urandom | head -c 999999999 > /var/log/syslog
logger -s „bună ziua”

Apoi am facut asta:

ls -las /var/log/syslog*
976568 -rw-r----- 1 syslog adm 1000000072 28 iulie 19:11 /var/log/syslog

Afișează dimensiunea fișierului ca 1,000000728 GB nu ar fi trebuit sa se roteasca singur?

Când am aplicat configurațiile, am făcut-o systemctl reporniți rsyslog

Puncte:1
drapel cz

Logrotate folosește unități tradiționale mai degrabă decât unități SI pentru K, M, G etc. Aceasta înseamnă literalmente, citarea din codul sursă: 1024 * 1024 * 1024, sau 1073741824 octeți.

justanotheruser1019 avatar
drapel us
deci trebuie doar să o declar ca „mărimea 1073741824” corect?
Michael Hampton avatar
drapel cz
@jk22721019 Ai făcut-o deja! Ceea ce trebuie să faceți este să scrieți mai multe date în fișierul jurnal.
justanotheruser1019 avatar
drapel us
Aha, înțeleg. lol haha
justanotheruser1019 avatar
drapel us
am făcut `logger -s "hello"` și acum dimensiunea spune `1073741883` pentru `ls -las /var/log/syslog` și fără jurnalele rotite...
justanotheruser1019 avatar
drapel us
Văd asta... 28 iulie 19:37:43 rsyslogd: nume de prioritate necunoscut „” [v8.1901.0] 28 iulie 19:37:43 rsyslogd: imfile: niciun fișier configurat pentru a fi monitorizat - nicio intrare nu va fi adunată [v8.1901.0 încercați https://www.rsyslog.com/e/2212]
Michael Hampton avatar
drapel cz
@jk22721019 Știi că logrotate rulează doar noaptea, nu?
justanotheruser1019 avatar
drapel us
Oh. Văd. Deci, poate că trebuie să ajustez jobul cron să ruleze la fiecare câteva minute, astfel încât să poată ridica un syslog mai mare decât o anumită dimensiune corect și să ruleze logrotate în loc să aștepte până noaptea?
justanotheruser1019 avatar
drapel us
M-am gândit că eliminând „orară” sau „zilnic” va răspunde imediat. aparent nu.
Michael Hampton avatar
drapel cz
@jk22721019 Cu siguranță puteți face asta, dar dacă într-adevăr generați cantități atât de enorme de jurnale în realitate, atunci ar trebui să vă gândiți serios (1) dacă jurnalele sunt cu adevărat necesare și (2) o altă abordare pentru stocarea lor. Oricum, asta s-a îndepărtat mult de întrebarea ta.
justanotheruser1019 avatar
drapel us
Apreciez ajutorul. Singura problemă pe care o am acum este că atunci când execut manual în scopuri de testare `sudo /etc/cron.daily/logrotate` se rotește perfect, dar nu pot înregistra date în noul fișier syslog. Am amendat la scriptul logrotate `chown syslog:adm syslog` și acesta este captivant - pare să permită scrierea după un minut sau două de la creare. Vreo idee?

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.