유닉스에서 활발하게 기록되는 대용량 로그 파일의 크기를 줄이는 가장 좋은 방법은 무엇입니까?


11

리눅스 서버에서 몇 GB 큰 로그 파일의 크기를 줄이고 싶습니다. 상위 절반을 자르거나 아마도 첫 번째 백만 줄이 효과가있을 것입니다.

답변:


12

이것은 종종 인터뷰에서 나타납니다 ...

프로세스를 방해하지 않고 파일을 자르려고합니까? 로그 파일의 정보가 가치가 있습니까? 그렇다면 보통 간단한 bash 문자열로 파일을 "제로"합니다.

: > /var/log/badlogfile

제어 된 방식으로 다시 시작할 수없는 응용 프로그램이있을 수 있습니다. 금융 거래 응용 프로그램이고 거래일 동안 프로그램을 중지하거나 다시 시작할 수 없다고 가정 해 봅시다. 그러나 응용 프로그램 버그로 인해 로그 파일이 약간 외설적 인 속도로 증가하고 있습니다. 위 또는 아래 방법을 사용하여 로그 파일을 잘라 내면 시스템을 계속 실행할 수 있습니다.

참조 : http://www.cyberciti.biz/faq/truncate-large-text-file-in-unix-linux/


1
콜론이 프롬프트를 표시해야합니까, 아니면 실제로 명령에 들어 갑니까?
Phil

콜론은 명령의 일부입니다.
ewwhite

실제로 콜론이 필요하지 않습니다.
MikeyB

아니야. 필요하지는 않지만 추천 할 때 보관하고 싶습니다.
ewwhite

이것은 나를 위해 작동하지 않았고 로그의 크기는 변경되지 않았습니다. 0으로 갔다가 다시 원래 크기로 돌아 왔습니다
thouliha

2

당신은 그것을 로그 로테이션에 넣을 수 있습니다. 그러면 쉽게 제어 할 수 없게됩니다


궁극적으로 그런 일이 필요합니다. 나는이 일에 처음이다 ...
Phil

1

적극적으로 쓰여지고 있다면 자르는 방법으로 할 수있는 일은 많지 않습니다. 유일한 옵션은 파일을 비우는 것입니다 (먼저 다른 곳에서 복사 할 수 있음).

echo "" >/var/log/fileYouWantToEmpty

이렇게하면 파일이 비워 지지만 여전히 같은 파일 / 아이 노드이므로 로깅중인 프로그램을 방해하지 않습니다.


0

cat / dev / null> / var / log /를 시도 할 수도 있습니다. 그러나 / dev / null이 일부 이전 버전에서는 구현되지 않았다는 경고를해야합니다 ...


나를 위해 작동하지 않는 파일을 절단, 내가 CentOS는 7에서 테스트를하고 5 레드햇
c4f4t0r
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.