EC2의 용량을 줄이려고 찾아보던 중에, 리눅스의 로그가 차지하는 용량이 대해서 알게 되었고, 리눅스의 시스템에서 발생하는 로그의 용량을 어떻게 줄일 수 있는지 한번 알아보았습니다.
로그 용량 확인하기
기본적으로 리눅스에서는 시스템/서비스를 관리하기 위한 systemd 라는 프로세스 매니저가 동작하는데요, systemd에는 전체 시스템 로깅을 담당하는 systemd journal 이라는 서비스가 돌고 있습니다. 해당 서비스에서는 시스템에서 발생한 로그데이터를 journal 이라는 바이너리 형식으로 저장하게 됩니다.
이러한 시스템에서 발생한 로그파일은 journalctl 명령어 도구를 통해 확인할 수 있습니다.
journalctl
만약 journal 파일을 전체 크기를 알아보고 싶으면 아래와 같이 명령어를 입력해줍니다.
journalctl --disk-usage
위에서 살펴보면 현재 시스템 로그(journal)의 사이즈가 3.5G를 차지하는 것을 확인할 수 있습니다.
journalctl 명령어를 사용하여 시스템 로그 사이즈 축소하기
아래 명령어를 통해 시스템 로그(journal) 의 사이즈를 줄여줄 수 있습니다.
sudo journalctl --vacuum-size=256M
이후에도 로그가 쌓일 때 입력한 로그 사이즈 이상으로 늘어나지 않고 계속 유지가 됩니다.
줄어든 로그 사이즈 확인
위에서처럼 실제 디스크의 용량이 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
마무리
오늘은 리눅스에서 시스템 로그 삭제를 통해 리눅스 용량을 확보하는 방법에 대해 알아보았습니다.
다음에도 유용한 주제로 포스팅하도록 하겠습니다 :)
'서버 개발 (AWS, Linux, DevOps) > 리눅스 (Ubuntu)' 카테고리의 다른 글
리눅스 : Swap 메모리란? (2) | 2022.05.03 |
---|---|
리눅스 : find / du 명령어를 이용하여 큰 용량의 파일 찾기 (용량 부족 시) (0) | 2021.10.18 |
리눅스 : 용량 부족할때, 커널 삭제로 용량 확보하기 (0) | 2021.03.15 |
리눅스 : 메모리 확인 / 캐시 삭제 (0) | 2021.02.21 |