Computer >> 컴퓨터 >  >> 스마트폰 >> Linux

리눅스에서 tail 명령어로 파일 변경 사항 실시간 모니터링하는 방법

tail 명령어로 파일을 실시간으로 확인하기

이 가이드에서는 리눅스(Linux)에서 tail 명령어를 사용해 파일이 업데이트되는 내용을 실시간으로 확인하는 방법을 소개합니다.

리눅스 서버를 관리하거나 개발자로 일하다 보면 특정 파일의 변경 사항을 지속적으로 지켜봐야 하는 경우가 자주 있습니다. 에러나 중요한 메시지가 기록되는지 확인하고 싶은 로그 파일일 수도 있고, 데이터가 계속 입력되는 파일일 수도 있습니다. 매번 새로고침 버튼을 누르는 대신, 이 방법을 사용하면 파일이 스스로 갱신되도록 만들 수 있습니다.

기본 사용법: tail -f

예를 들어 아파치(Apache) 웹 서버 로그 파일인 /var/log/http/access.log를 모니터링하고 싶다고 가정해 보겠습니다. 다음 명령어를 실행하면 실시간 업데이트를 받아볼 수 있습니다.

# tail -f /var/log/http/access.log

엔터 키를 누르면 파일에 이미 저장되어 있는 마지막 몇 줄이 먼저 출력되고, 이후에는 명령어가 대기 상태에 있다가 파일에 새로운 내용이 추가될 때마다 화면에 자동으로 출력해 줍니다.

tail -f의 두 가지 한계점

이 명령어에는 몇 가지 단점이 있습니다. 첫째, tail로는 위아래로 스크롤하여 이전 내용을 탐색할 수 없습니다. 둘째, 모니터링 중인 파일이 롤오버(rotate)되면, 즉 기존 파일이 다른 이름으로 옮겨지고 새 빈 파일이 생성되면 업데이트 추적이 중단됩니다.

해결책: 대문자 -F 옵션

두 번째 문제는 다음과 같이 명령어를 바꿔서 해결할 수 있습니다.

# tail -F /var/log/http/access.log

대문자 -F 옵션을 사용하면 파일이 롤오버되더라도 자동으로 새 파일을 인식해 계속해서 읽어갑니다. 실무에서 매우 유용한 기능입니다. 필자는 파일이 롤오버될 가능성이 있는지 미리 판단할 필요 없이, 항상 이 옵션을 사용하는 편입니다.

마무리

이제 파일의 변경 사항을 실시간으로 확인하는 방법을 익혔습니다. 리눅스 서버 운영과 디버깅 작업에서 시간을 크게 절약해 주는 필수 스킬이니 꼭 활용해 보시기 바랍니다. 더 나아가 다른 리눅스 명령줄 팁들도 함께 익혀두면 도움이 됩니다.