Puncte:0

Logrotate nu scrie în noul fișier .log

drapel jp

Am 4 servicii personalizate de sistem care scriu în loguri personalizate /var/log/. am infiintat o logrotate config, dar nu scrie în cel mai nou jurnal. Încă se scrie celor vechi .log.1 fişier. Cele noi sunt creată, doar fără date.

Iată configurația mea de logrotate:

/var/log/dealer*.log {
        zilnic
        lipsingok
        roteste 7
        delaycompress
        notificare gol
        su root root
        postrotate
        /bin/systemctl reload dealer*.service > /dev/null 2>/dev/null || Adevărat
        script final
        creați rădăcină rădăcină 0644

}

Cele mai noi fișiere jurnal sunt goale:

-rw-r--r-- 1 root root 0 Jul 12 11:39 dealerF2f.log
-rw-r--r-- 1 root root 0 Jul 12 11:39 dealerOutbound.log
-rw-r--r-- 1 root root 0 Jul 12 11:39 dealerTimeout.log
-rw-r--r-- 1 root root 0 Jul 12 11:39 dealerWeb.log

Încă scrie către .log.1:

-rw-r--r-- 1 rădăcină rădăcină 36M 12 iulie 12:52 dealerOutbound.log.1
-rw-r--r-- 1 rădăcină rădăcină 9,2M 12 iulie 12:52 dealerF2f.log.1
-rw-r--r-- 1 root root 19M Jul 12 12:52 dealerWeb.log.1
-rw-r--r-- 1 rădăcină rădăcină 171M 12 iulie 12:52 dealerTimeout.log.1
Puncte:0
drapel it

De obicei, văd așa ceva când un proces are încă fișierul deschis - va continua să scrie în fișierul vechi până când procesul este repornit.

Pariezul meu este că, dacă reporniți în loc de reîncărcare, va funcționa conform așteptărilor.

Dacă nu puteți reporni complet procesul, căutați opțiunea copytruncate în loc de scriptul postrotate.

copytruncate Trunchiați fișierul jurnal original la dimensiunea zero după crearea unei copii, în loc să mutați fișierul jurnal vechi și opțional creând unul nou. Poate fi folosit atunci când unui program nu i se poate spune să își închidă fișierul jurnal și astfel ar putea continua scrierea (adăugând) la fișierul jurnal anterior pentru totdeauna. Rețineți că există o perioadă foarte mică de timp între copierea fișierului și trunâ cating-o, astfel încât unele date de jurnal s-ar putea pierde. Când se utilizează această opțiune, opțiunea de creare nu va avea niciun efect, ca și vechea fișierul jurnal rămâne pe loc.

DevOpsSauce avatar
drapel jp
Încerc să evit o repornire completă, deoarece `ExecStopPost` apelează un script bash care trimite un e-mail, totuși, folosind copytruncate și eliminarea secțiunii postrotate a făcut ceea ce aveam nevoie. A creat noul jurnal și a început să scrie corect în el. Mulțumesc foarte mult.
Ginnungagap avatar
drapel gu
`copytruncate` este o ultimă soluție, deoarece designul său este defectuos (pentru că este cel mai bun lucru care se poate face având în vedere cerințele). Serviciile ar trebui să fie capabile să suporte corect rotația fișierelor jurnal.

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.