본문 바로가기
서버 개발 (AWS, Linux, DevOps)/리눅스 (Ubuntu)

리눅스 : 시스템 로그(journal) 사이즈 줄여서 용량 확보하기

by 번데기 개발자 2024. 1. 14.
반응형

 

 

EC2의 용량을 줄이려고 찾아보던 중에,  리눅스의 로그가 차지하는 용량이 대해서 알게 되었고, 리눅스의 시스템에서 발생하는 로그의 용량을 어떻게 줄일 수 있는지 한번 알아보았습니다.

로그 용량 확인하기 

 

기본적으로 리눅스에서는 시스템/서비스를 관리하기 위한 systemd 라는 프로세스 매니저가 동작하는데요, systemd에는 전체 시스템 로깅을 담당하는 systemd journal 이라는 서비스가 돌고 있습니다. 해당 서비스에서는 시스템에서 발생한 로그데이터를 journal 이라는 바이너리 형식으로 저장하게 됩니다.

 

이러한 시스템에서 발생한 로그파일은 journalctl 명령어 도구를 통해 확인할 수 있습니다. 

 

journalctl

 

journalctl 명령어

 

만약 journal 파일을 전체 크기를 알아보고 싶으면 아래와 같이 명령어를 입력해줍니다.

 

journalctl --disk-usage

 

journalctl 로 시스템 로그 사이즈 확인

 

위에서 살펴보면 현재 시스템 로그(journal)의 사이즈가 3.5G를 차지하는 것을 확인할 수 있습니다.

 

 

journalctl 명령어를 사용하여 시스템 로그 사이즈 축소하기

 

아래 명령어를 통해 시스템 로그(journal) 의 사이즈를 줄여줄 수 있습니다.

 

sudo journalctl --vacuum-size=256M

 

journalctl을 통해 시스템 로그 사이즈 줄이기

 

이후에도 로그가 쌓일 때 입력한 로그 사이즈 이상으로 늘어나지 않고 계속 유지가 됩니다. 

 

 

줄어든 로그 사이즈 확인

 

줄어든 로그 용량 확인
리눅스 전체 용량 확인 (journal 삭제 전)
리눅스 전체 용량 확인 (journal 삭제 후)

 

위에서처럼 실제 디스크의 용량이 3G 이상 확보된 것을 확인할 수 있습니다.

 

그 밖에도 아래와 같이 로그파일 개수, 기간 등으로 로그의 제한을 걸어둘 수도 있습니다. 

 

 

1000개의 로그만 남고 나머지는 자동 삭제

journalctl --vacuum-files=1000



10일 동안 로그만 남고 나머지 자동 삭제

journalctl --vacuum-time=10d

 

 

추가로 유용한  journcalctl 로그 관리 명령어

 

실시간으로 로그 확인

journalctl -f

 

 

특정 서비스의 로그만 확인

journalctl -u apache2

 

 

마지막 부팅 이후 로그만 확인

journalctl -b

 

 

커널의 로그만 확인

journalctl -k

 

 

특정 시간 이후에 발생한 로그 확인

$ journalctl --since "2022-12-01 12:00:00"

 

 

특정 시간 이전에 발생한 로그 확인

 

journalctl --until "2022-12-01 12:00:00"

 

 

특정 에러 레벨의 로그 확인

 

emerg=0, alert=1, crit=2, err=3, warning=4, notice=5, info=6, debug=7

 

journalctl -p err

 

 

지정한 라인수만큼의 로그만 확인

 

journalctl -n 100

 

 

마무리

 

오늘은 리눅스에서 시스템 로그 삭제를 통해 리눅스 용량을 확보하는 방법에 대해 알아보았습니다.

 

다음에도 유용한 주제로 포스팅하도록 하겠습니다 :)

 


반응형