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.
11
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/
Możesz umieścić go w logrotate, wtedy nie wymknie się spod kontroli tak łatwo
źródło
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).
W ten sposób plik jest pusty, ale nadal jest tym samym plikiem / i-węzłem, aby nie zakłócać rejestrowania programu.
źródło
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 ...
źródło