În funcție de modul în care ați etichetat întrebarea, utilizați un mediu în stil Redhat. Presupunând că utilizați instalarea Stock Apache httpd, probabil că, în culise, vă ocupați de logrotate. Ieșit din cutie, logrotate se execută zilnic din /etc/cron.daily. Acesta vă va muta fișierele jurnal curente din drum, va crea altele noi și va reporni httpd astfel încât va începe să utilizeze fișierele jurnal goale nou create.
Verifica /etc/logrotate.d/httpd. De exemplu, versiunea stoc arată:
/var/log/httpd/*log {
lipsingok
notificare gol
scripturi partajate
delaycompress
postrotate
/bin/systemctl reîncărcare httpd.service > /dev/null 2>/dev/null || Adevărat
script final
}
Dacă adăugați o linie ca aceasta între paranteze, logrotate va roti în mod corespunzător și va re-crea fișierele dvs. jurnal cu membrii de proprietar și grup corect:
creați 0640 root devs
Acest lucru indică logrotate să creeze noile fișiere jurnal cu rădăcină ca proprietar, dezvoltatori ca grup, cu permisiuni de proprietar citire/scriere și citire de grup.
Apoi, puteți seta directorul de jurnal httpd cu permisiuni și drepturi de proprietate, astfel:
chown root:devs /var/log/httpd
chmod 0750 /var/log/httpd
Pentru prima zi, este posibil să doriți, de asemenea, să setați manual permisiunile pentru fișierele jurnal și logrotate va prelua în următoarele zile:
chown root:devs /var/log/httpd/*log
chmod 0640 /var/log/httpd/*log
Vă puteți delecta cu ACL-urile, așa cum a demonstrat @KuchnMar de mai sus, dar această soluție menține lucrurile simple și compatibile cu diferite tipuri *nix și sisteme de fișiere.
Acest lucru poate fi similar pe o gazdă în stil Debian, dar fișierul dvs. de configurare logrotate poate fi apelat apache2 in schimb.
Mai multe informații pot fi găsite aici: