
안녕하세요, 픽가이더예요. 로그 마지막 200줄만 별도 파일에 저장하려면 tail -n 200을 사용해요. 원본과 다른 출력 파일을 지정하면 로그를 자르거나 서비스를 재시작할 필요가 없어요.
먼저 화면에서 마지막 부분을 확인해요
아래는 GNU tail과 Bash를 사용하는 Linux 환경 예시예요. Ubuntu·Rocky의 일반적인 GNU 환경에 적용할 수 있고, BusyBox나 BSD/macOS의 세부 옵션은 해당 환경의 도움말로 확인해 주세요. 파일명은 가상 예시이므로 실제 경로에 맞게 바꿔요.
tail -n 200 -- sample_app.log
-n 200은 끝에서 최대 200줄이에요. 파일이 더 짧으면 있는 내용을 보여 줘요. --는 옵션의 끝을 뜻해요. -n +200은 처음부터 세어 200번째 줄 이후를 출력하므로 의미가 달라요.
공식 설명: GNU Coreutils tail 매뉴얼
기존 파일을 덮어쓰지 않게 저장해요
(set -C; tail -n 200 -- sample_app.log > sample_tail_200.txt)
>는 결과를 파일로 보내요. Bash의 set -C는 같은 이름의 일반 파일이 있으면 덮어쓰기를 거부해요. 괄호 안에서만 설정하므로 현재 셸의 설정을 계속 바꾸지 않아요. 파일이 있다는 오류가 나면 다른 출력 이름을 사용해요.
입력과 출력에 같은 파일명을 쓰면 안 돼요. 덮어쓰기 방지 없이 >를 사용하면 명령 실행 전에 기존 내용이 비워질 수 있어요. >>는 이어 쓰기라 반복 실행하면 내용이 중복될 수 있어요.
공식 근거: Bash 출력 리다이렉션 · Bash set -C
저장 결과와 오류를 확인해요
wc -l -- sample_tail_200.txt
tail -n 5 -- sample_tail_200.txt
wc -l은 줄바꿈 문자 수를 세므로 마지막 행에 줄바꿈이 없으면 화면상 행 수와 다를 수 있어요. 별도 임시 샘플 250줄로 확인했을 때 51~250행이 저장되고 원본 250줄은 유지됐어요. 실제 서버 로그를 시험한 결과는 아니에요.
Permission denied라면 입력 파일 읽기 권한과 출력 위치 쓰기 권한을, No such file이라면 경로를 확인해요. 읽기 실패 뒤 빈 출력 파일이 남을 수도 있으니 파일 생성만으로 성공을 판단하지 않아요.
공식 설명: GNU wc의 줄바꿈 계산
계속 추가되는 로그를 따라가는 명령은 아니에요. 실행 중 파일이 늘거나 회전되면 추출 시점에 따라 결과가 달라져요. 마지막 200줄에 오류가 없어도 정상이라고 단정하지 마세요. 해결되지 않으면 배포판·셸·tail 버전, 명령과 오류 문구, 장애 시각을 남기되 계정·주소·토큰은 가려요.
자료 확인: 2026년 10월 30일 11:50 KST