빠른 링크

로그가 디스크 공간을 많이 차지하는 이유는 무엇인가요?

로그 찾기

Linux에서 로그 파일을 회전하는 방법

어떤 로그를 삭제해도 안전한가요?

+ 로그를 채우는 문제를 해결하는 방법

주요 내용

Linux 시스템에서 생성되는 로그 파일은 시간이 지남에 따라 누적되어 하드 드라이브의 저장 용량을 상당히 많이 소모하는 경향이 있습니다.

시스템의 정상적인 기능은 저장 공간을 절약하기 위해 오래된 로그 파일을 보관하는 것입니다.

`journalctl` 또는 `tail -f` 명령을 사용하여 로그 항목을 열람하고 현재 시스템에서 작동 중인 중단 프로세스를 정확히 찾아낼 수 있습니다.

Linux 기반 운영 체제는 효율성이 좋기로 유명하지만, 갑자기 스토리지 용량이 부족해지는 경우가 종종 발생합니다. 한 가지 가능한 설명은 시스템의 로그 파일에 있습니다. 사용자는 이러한 기록을 검토하여 이 문제의 주요 원인을 파악할 수 있습니다.

로그가 디스크 공간을 많이 차지하는 이유는 무엇인가요?

Linux 기반 운영 체제를 효과적으로 감독하려면 시스템 활동에 대한 귀중한 인사이트를 제공하고 발생하는 모든 문제를 해결할 수 있는 기회를 제공하는 로그 파일을 꼼꼼하게 모니터링하는 것이 중요합니다. 이러한 모니터링 기능은 Microsoft Windows OS의 이벤트 뷰어 기능과 유사합니다. 특히, 최신 배포판에는 디스크 사용량을 제어하는 메커니즘이 내장되어 있기 때문에 이러한 로그는 일반적으로 최소한의 스토리지 용량만 소비합니다.

역사적으로 Linux 로그 파일은 단순한 텍스트 데이터로 구성되었습니다. 그러나 점점 더 많은 유명 배포판에서 운영 체제 관리를 위해 시스템화된 방식을 채택함에 따라 이러한 로그 파일은 바이너리 형식으로 진화했습니다. 이러한 전환은 시스템드 전용 서비스로 운영되는 journald의 활용을 통해 촉진되었습니다. 이와 동시에 다른 배포 모델에서는 rsyslog 또는 syslog-ng와 같은 대체 로깅 솔루션을 선택할 수 있습니다.

컴퓨터 하드 드라이브의 저장 공간을 절약하기 위해 시스템에서는 오래된 로그 파일을 주기적으로 순환하여 압축한 후 관련성이나 유용성이 없어지면 삭제하여 보관하는 것이 일반적인 관행입니다. 이렇게 하면 나중에 필요할 수 있는 더 중요한 데이터를 위해 귀중한 디스크 공간을 확보할 수 있습니다.

이 글도 확인해 보세요:  deb-get 사용 방법: DEB 패키지를 위한 APT와 유사한 패키지 관리자

로그 파일은 스토리지 용량을 크게 차지하지 않는다고 생각하는 경우가 많지만, 최적이 아닌 프로세스가 부적절하게 작동하는 경우 이러한 로그가 빠른 속도로 누적되어 시스템의 로그 순환 및 관리 능력을 초과할 수 있습니다.

실제로 최근에 큰 파일을 다운로드하지 않았는데도 Linux 시스템의 디스크 공간이 갑자기 고갈되는 것을 목격했다면 시스템 로그에 즉각적인 주의가 필요한 문제가 있을 수 있습니다. 시스템 로그를 어지럽히는 문제를 파악하고 해결하는 것이 최적의 성능을 회복하는 데 필수적입니다.

“du -h” 명령을 사용하여 디스크 사용량 분석이라는 프로세스를 통해 현재 점유하고 있는 디스크 공간의 양을 확인할 수 있습니다.

 du -h /var/log 

디렉토리 구조가 체계적으로 표시되어 모든 하위 디렉터리를 각각의 저장 용량과 함께 표시합니다.

로그 찾기

시스템드를 지원하는 최신 Linux 배포판을 사용하려면 로그 항목을 열람하기 위해 journalctl 유틸리티를 사용해야 하며, 특히 이러한 기록의 저장 위치는 특정 운영 체제 버전에 따라 달라지는데, 일반적으로 OS의 특정 릴리스에 따라 “/var/log/journal” 디렉토리 또는 “/run/log/journal” 디렉토리 내에 보관되므로 주의가 요구됩니다.

로그 아카이브를 열람하려면 터미널의 명령줄 인터페이스에 “journald”를 입력하세요. 다른 유용한 명령줄 대안도 사용할 수 있습니다. 예를 들어, 시스템의 시작 메시지를 검사하려면 “-b” 옵션 다음에 Enter 키를 누르세요.

 journalctl -b 

`-f` 플래그를 사용하면 시스템의 로깅 정보를 실시간 형식으로 열람할 수 있습니다.

Linux 배포판의 로그 파일 위치는 systemd를 사용하는지 여부에 따라 달라질 수 있습니다. systemd를 사용하지 않는 경우 /var/log 디렉터리 내에 로그가 위치할 것으로 예상할 수 있습니다. 그러나 systemd를 사용하는 경우에도 특정 애플리케이션은 이 표준화된 위치에 로그 레코드를 계속 유지합니다. 로그 파일 자체는 일반적으로 일반 텍스트로 구성되며 “less”와 같은 호출기를 포함한 다양한 도구를 사용하여 검토할 수 있습니다.

컴퓨터 시스템 또는 애플리케이션 내에서 발생한 이벤트 기록에 액세스하고 검토하려면 해당 시스템 로그를 참조하면 됩니다. 이 프로세스에는 사용자, 소프트웨어 애플리케이션 및 해당 시스템의 기타 구성 요소가 수행한 작업의 시간순 기록을 검토하는 작업이 포함됩니다. 이 정보는 문제 해결, 패턴 또는 이상 징후 식별, 잠재적인 보안 위협 탐지에 유용한 인사이트를 제공합니다.관리자는 시스템 로그에 포함된 데이터를 분석하여 기술이 어떻게 작동하는지 더 깊이 이해하고 향후 업데이트 또는 수정과 관련하여 정보에 입각한 결정을 내릴 수 있습니다.

 less /var/log/syslog

방대한 줄이 포함될 수 있는 포괄적인 로그 파일 전체를 열람하면 여기에 포함된 모든 정보에 액세스할 수 있습니다.

이 글도 확인해 보세요:  우분투 프로로 노후화된 우분투 18.04 설치를 확장하는 방법

실시간 모니터링 기능을 제공하는 “tail” 명령의 “-f” 옵션을 사용하면 프로세스의 진행 상황을 효과적으로 관찰할 수 있습니다.

 tail -f /var/log/syslog

Linux에서 로그 파일을 순환하는 방법

/var/log 디렉터리 내에 “log.N.gz,â€로 끝나는 이름을 가진 파일이 있으면 시스템이 이전 로그를 순환하는 프로세스를 거쳤음을 의미합니다. 대부분의 운영 체제에서 널리 사용되는 기능은 이러한 목적을 위한 자동 메커니즘을 활용하는 것입니다. “logrotate.†Logrotate는 일반적으로 크론 작업 또는 시스템 타이머로 실행되도록 설정됩니다.

Logrotate는 일반적으로 대부분의 배포 패키지에서 매일 작동하도록 설정되어 있습니다. 이 유틸리티는 아카이브된 로그 파일을 .gz 확장자로 유추할 수 있는 gzip 알고리즘을 사용하여 압축합니다. Logrotate는 오래된 로그 데이터의 압축 및 삭제 시작 시점을 결정하기 위해 나이 또는 파일 크기와 같은 특정 기준을 사용합니다.

대부분의 데스크톱 사용자에게는 일반적으로 로그 로테이트에서 제공하는 표준 설정이 적절합니다. 그러나 설정을 수정하려면 수퍼유저 자격으로 /etc/logrotate.conf 파일에 액세스하여 시스템의 cron 또는 systemd 타이머 파일을 조정할 수 있습니다. 이 프로세스는 일반 사용자에게는 필수적인 것은 아니지만 서버를 관리하는 담당자에게는 더 적합합니다.

디스크 공간을 절약하기 위해 구성 파일을 조정하는 것보다 로그를 가득 채우고 있는 것을 수정하는 것이 더 좋습니다. 구성을 꼭 변경해야 하는 경우 로그 로테이트 매뉴얼 페이지 를 참조하세요.

어떤 로그를 삭제해도 안전한가요?

또는 스토리지 용량이 심각하게 제한되어 디스크 공간을 즉시 확보해야 하는 경우 rm 명령을 사용하여 접미사 “.gz”가 붙은 압축 로그 파일을 수동으로 삭제하는 방법을 고려할 수 있습니다. 그러나 이러한 파일은 본질적으로 운영 체제와 연결되어 있기 때문에 이 작업을 수행하려면 수퍼유저로서 상승된 권한으로 실행해야 합니다.

 sudo rm /var/syslog/syslog.*gz 

다음 명령은 “syslog” 뒤에 접미사(ç)가 붙은 다음 “gz”로 끝나는 모든 파일을 삭제합니다.

상승된 권한으로 명령을 실행할 때, 특히 `rm`을 사용한 파일 삭제와 같이 돌이킬 수 없는 손상을 일으킬 수 있는 명령을 실행할 때는 주의하세요.

일반적으로 잠재적인 결과를 완전히 이해하지 않고 시스템 디렉터리에서 파일을 제거하지 않는 것이 좋지만, 보관된 로그 파일은 없어져도 문제가 발생하지 않습니다. 그러나 문제가 발생하여 문제 해결을 위해 이전 로그 데이터를 참조해야 하는 경우, 누락된 아카이브를 검색해야 할 수도 있습니다.

이 글도 확인해 보세요:  크롬북에서 이모티콘을 사용하는 방법

로그를 채우는 문제를 해결하는 방법

시스템 로그 파일에 축적되는 정보의 출처를 효과적으로 파악하려면 저널클라 또는 꼬리 -f 명령을 사용하여 모니터링하는 것이 좋습니다. 최적의 결과를 얻으려면 반복되는 오류 메시지에 집중하는 것이 좋습니다.

귀중한 저장 공간을 확보하려면 당면한 문제의 원인을 해결하고 제거하는 것이 필수적입니다. 근본 원인을 파악하기 어려운 경우에는 온라인 검색을 철저히 수행하거나 유통업체의 전용 지원 채널에 도움을 요청할 수 있습니다. 문제가 성공적으로 해결되면 부작용에 대한 두려움 없이 오래된 로그 파일을 안전하게 제거할 수 있습니다. 결과적으로 사용 가능한 디스크 공간을 크게 늘릴 수 있습니다.

By 김민수

안드로이드, 서버 개발을 시작으로 여러 분야를 넘나들고 있는 풀스택(Full-stack) 개발자입니다. 오픈소스 기술과 혁신에 큰 관심을 가지고 있고, 보다 많은 사람이 기술을 통해 꿈꾸던 일을 실현하도록 돕기를 희망하고 있습니다.