tail — 로그 끝부분 보기
Linux / 서버 로그 기록 및 분석 / tail.html
💬 "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로 해결).
실제 실행 화면
최근 오류 로그를 확인한 결과입니다(백엔드 연결 실패).

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