tail — 로그 끝부분 보기

Linux / 서버 로그 기록 및 분석 / tail.html

서버 로그 기록 및 분석원문등록 2026-10-18

💬 "tail 명령어"

tail은 파일의 끝부분을 보여줍니다. 로그는 최신 내용이 아래에 쌓이므로 장애 대응의 출발점입니다.

-f를 붙이면 파일에 추가되는 내용을 실시간으로 따라갑니다.

  • 개념: 파일의 마지막 N줄을 출력합니다. 기본 10줄입니다.
  • 왼쪽 인자: -n 숫자로 볼 줄 수를 지정합니다.
  • 오른쪽 인자: 대상 파일 경로입니다.
  • -f: 실시간 추적(tail -f)으로 동작이 달라집니다.

자주 쓰는 옵션

옵션설명
-n <N>마지막 N줄을 출력합니다(-n 100)
-f파일 끝을 실시간으로 따라갑니다
-F회전(rotate)된 파일도 따라갑니다 — 운영 로그에 권장
-q여러 파일일 때 파일명 헤더를 생략합니다

필수 명령어 조합 3가지

  • tail -n 100 /var/log/nginx/access.log — 최근 100줄 확인
  • tail -F /var/log/nginx/error.log — 회전을 견디며 실시간 오류 추적
  • tail -n 50 /var/log/app.log | grep -i error — 최근 로그에서 오류만 추리기

💬 "운영 중에 사고 안 나게 쓰는 안전한 예시 하나 보여줘"

실제 운영 중인 서버에서 자주 만나는 상황을 순서대로 정리했습니다.

1단계 · 최근 오류 확인

로그의 마지막 100줄을 봅니다.

tail -n 100 /var/log/nginx/error.log

2단계 · 실시간 추적

재현 중일 때 -F로 따라갑니다.

tail -F /var/log/nginx/error.log

3단계 · 패턴 추리기

특정 키워드만 걸러 원인을 좁힙니다.

tail -F /var/log/app.log | grep -i 'timeout\|exception'

실무에서는 이렇게 씁니다

1. 502 급증 대응

상황 — 갑자기 502가 늘어 원인을 찾아야 합니다.

tail -F /var/log/nginx/error.log

결과 — upstream 연결 실패 메시지가 실시간으로 보여 백엔드 문제임을 확인합니다.

포인트 — access.log의 상태코드와 error.log의 원인을 함께 보는 것이 기본입니다.

2. 배포 직후 오류 확인

상황 — 배포 후 앱이 뜨는지 즉시 확인하고 싶습니다.

tail -n 200 /var/log/app/app.log | grep -i -E 'error|exception|fatal'

결과 — 배포로 인한 예외가 있는지 몇 초 안에 확인됩니다.

포인트 — 배포 스크립트에 이 검사를 넣으면 자동 롤백 기준으로도 쓸 수 있습니다.

주의할 점

  • -f는 종료되지 않습니다. 확인 후 Ctrl+C로 끝냅니다.
  • 로그 회전 중에는 -f가 끊깁니다. 운영 로그에는 -F를 씁니다.
  • tail -f 대신 파일을 다시 열지 않아 회전 후 이전 inode를 따라갈 수 있습니다(-F로 해결).

실제 실행 화면

최근 오류 로그를 확인한 결과입니다(백엔드 연결 실패).

tail 명령어 실행 결과: 최근 오류 로그

실제 운영 중인 서버

이 문서는 화면 표시용 가상 디렉터리의 항목입니다. 실제 서버 파일시스템과 연결되지 않으며, 파일 실행이나 시스템 명령을 수행하지 않습니다.