W Unixie, jaki jest najlepszy sposób na zmniejszenie rozmiaru ogromnego pliku dziennika, który jest aktywnie zapisywany?


11

Na serwerze z linuksem chcę zmniejszyć rozmiar pliku dziennika, który jest kilka GB duży. Odcięcie górnej połowy, a może pierwszy milion linii zadziałałoby.

Odpowiedzi:


12

Często pojawia się to w wywiadach ...

Czy chcesz obciąć plik bez zakłócania procesów? Czy jakakolwiek informacja w pliku dziennika jest cenna? Jeśli tak, zwykle „zeruję” plik prostym ciągiem bash.

: > /var/log/badlogfile

Pojawia się to w sytuacjach, w których możesz mieć aplikację, której nie można ponownie uruchomić w kontrolowany sposób. Powiedzmy, że jest to aplikacja do handlu finansami, a programu nie można zatrzymać ani uruchomić ponownie w ciągu dnia handlowego. Jednak pliki dziennika rosną w pewnym nieprzyzwoitym tempie z powodu błędu aplikacji. Obcinanie plików dziennika przy użyciu metody powyżej lub poniżej może utrzymać działanie systemu.

Zobacz także: http://www.cyberciti.biz/faq/truncate-large-text-file-in-unix-linux/


1
czy dwukropek ma oznaczać monit, czy rzeczywiście wchodzi w skład polecenia?
Phil

Dwukropek jest częścią polecenia.
ewwhite

Tak naprawdę nie potrzebujesz okrężnicy.
MikeyB

To nie jest możliwe. Nie jest to potrzebne, ale lubię je trzymać, kiedy robię zalecenie.
ewwhite

To nie działało dla mnie, dziennik nie zmienił rozmiaru. Poszedł do zera, ale potem wrócił do swojego pełnego rozmiaru
thouliha

2

Możesz umieścić go w logrotate, wtedy nie wymknie się spod kontroli tak łatwo


Ostatecznie to musi się zdarzyć. Jestem nowy w tej pracy ...
Phil

1

Jeśli jest aktywnie napisane do Ciebie, tak naprawdę nie masz wiele do zrobienia przez obcięcie. Jedyne opcje to wyczyszczenie pliku (możesz go najpierw skopiować w innym miejscu).

echo "" >/var/log/fileYouWantToEmpty

W ten sposób plik jest pusty, ale nadal jest tym samym plikiem / i-węzłem, aby nie zakłócać rejestrowania programu.


0

Możesz także wypróbować cat / dev / null> / var / log /. Ale muszę ostrzec, że / dev / null nie jest zaimplementowane w niektórych starszych wersjach ...


obcięcie pliku nie działa dla mnie, zrobiłem test na centos 7 i na redhat 5
c4f4t0r
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.