log 파일에서 새로이 추가되는 내용을 확인하기 위하여, tail
명령어를 이용합니다.
tail -f example.log
위의 명령어를 실행하면, example.log
파일을 추적하면서 새로이 추가되는 부분을 출력하여 줍니다.
하지만 tail 명령어는 기본적으로 실행 시점을 기준으로 바로 직전의 10줄을 출력합니다.
tail -f -n0 example.log
이를 출력하길 원하지 않는 경우에는, tail
명령어의 옵션 중 하나인 -n0
을 추가하면 직전 10줄은 출력하지 않고 실행 이후에 추가되는 부분만을 출력합니다.
그리고 특정 로그만을 출력하게 하기 위하여, pipe 라인으로 grep
명령어를 같이 사용합니다.
tail -f -n0 example.log | grep 'alert'
위의 명령어를 실행하면, 새로이 추가되는 부분들 중에서 alert
라는 키워드를 포함하고 있는 줄만을 출력하여 줍니다.
그리고 출력되는 양이 늘어나게 되면, 출력되는 중간중간 잘려서 출력이 되곤 합니다.
tail -f -n0 example.log | grep --line-buffered 'alert'
그럴 경우에는 grep
명령어의 옵션 중 하나인, --line-buffered
를 이용하면 한줄 단위로 출력할 수 있습니다.
마지막으로 이렇게 출력한 내용을 파일로 만들기 위해서는, >
명령어를 이용하면 됩니다.
tail -f -n0 example.log | grep --line-buffered 'alert' > alert.log
위의 명령어를 실행하면, example.log
파일에서 새로이 추가되는 줄 중에서 alert
키워드를 포함하고 있는 줄만을 alert.log
파일로 저장하게 됩니다.
>
명령어의 경우, 파일을 새로이 생성하여 저장을 합니다.
>>
명령어의 경우, 기존의 파일에 추가하여 저장을 합니다.