Logi zajmują zbyt dużo miejsca na Twoim serwerze. Jak to naprawić?
Większość plików logów jest przechowywana w katalogu /var/log, ale nie ogranicza się tylko do niego. Zasady opisane w tej sekcji dotyczą wszystkich plików *.log w dowolnym katalogu na Twoim serwerze.
Logi to pliki przechowuj ące informacje o zdarzeniach na serwerze: aktywność aplikacji i systemu operacyjnego, różne błędy, żądania użytkowników do stron internetowych i inne. Z czasem logi mogą zajmować znaczną ilość miejsca na dysku, zwłaszcza przy dużym obciążeniu lub w przypadku błędów oprogramowania.
Jednym z kluczowych aspektów plików logów jest to, że w większości przypadków ich usunięcie może spowodować problemy z programem, który je generuje – czy to serwer WWW, czy nawet sam system operacyjny.
Dodatkowo, logi często zawierają cenne informacje diagnostyczne, które mogą pomóc w identyfikacji problemów z oprogramowaniem na serwerze i zapobieganiu większym kłopotom. Dlatego ważne jest, aby obchodzić się z nimi właściwie i ostrożnie.
Jak zidentyfikować logi, które można oczyścić
Użyj ncdu do zlokalizowania dużych logów na serwerze. Jeśli plik logu jest nietypowo duży, sprawdź jego najnowsze wpisy:
sudo tail /ścieżka/do/logu
Jeśli nie ma anomalii, sprawdź początek pliku, aby określić, czy log urósł po prostu z powodu wieku (zwróć uwagę na datę najwcześniejszych wpisów):
sudo head /ścieżka/do/logu
Po tym możesz przystąpić do czyszczenia pliku.
Jeśli nie masz pewności, dlaczego plik logu tak bardzo się rozrósł, lepiej go zachować i skontaktować się z zespołem pomocy technicznej Twojego dostawcy hostingu w celu wyjaśnienia.
Jak bezpiecznie czyścić logi
Polecenie truncate czyści zawartość pliku bez jego usuwania:
sudo truncate -s 0 /var/log/nginx/error.log
Osobno odnotuj pliki, które są logami, pomimo braku rozszerzenia *.log:
- /var/log/btmp
- /var/log/syslog
- /var/log/messeges
- /var/log/secure
- /var/log/maillog
Te pliki również można bezpiecznie czyścić za pomocą polecenia truncate.
Szczególnym przypadkiem jest log znajdujący się w katalogu /var/log/journal. Więcej szczegółów na temat pracy z nim znajdziesz w osobnym artykule.
Jak zapobiegać nadmiernemu rozrastaniu się logów
Analizując logi, możesz zauważyć, że niektóre z nich mają nazwy takie jak:
- syslog.1
- yoursite.access.log.1
Pojawiają się one, gdy stosowana jest rotacja logów, na przykład za pomocą programu logrotate. Stare pliki mogą być usuwane lub kompresowane podczas rotacji, oszczędzając miejsce na dysku.
Więcej informacji o konfiguracji tego mechanizmu znajdziesz w osobnym artykule.