Apache2 oraz logrotate, czyli co zrobić gdy logi serwera pożerają cały dysk :)
Przejdź do nawigacji
Przejdź do wyszukiwania
Serwer na którym pracuje opz, miał pewien problem... mianowicie w ciągu miesiąca od postawienia pojawiło się 30 GB logów typu access. Z związku z powyższym konieczne było zainstalowanie systemu rotacji logów, wraz z kompresją.
Krokiem pierwszym jest upewnienie się że winowajcą są zbyt duże logi.
cd /var/log/apache2
A teraz właściwa zabawa
/var/log/apache2# du -ah 4.0K ./other_vhosts_access.log 695M ./access.log 27G ./error.log 27G .
Ulala, 30 Gb logów... faktycznie... źle to wygląda... ale mamy logrotate, więc nosek do góry.
nano /etc/logrotate.conf
a teraz na końcu dopisujemy
/var/log/apache2/access.log { daily rotate 365 copytruncate compress notifempty missingok } /var/log/apache2/error.log { daily rotate 365 copytruncate compress notifempty missingok }
Dla testu walimy
/etc/cron.daily/logrotate
Jeżeli wyskoczy coś takiego:
duplicate log entry for /var/log/apache2/access.log
To albo wchodzimy w
nano /etc/logrotate.d/apache2
i usuwamy zawartość, albo usuwamy zawartość i przenosimy tam kod który dopisaliśmy powyżej... zależy kto jak woli sobie porządkować... Profit ? :>