해당 파일을 무기한으로 활용하는 스크립트를 실행하는 동안 해당 파일에 대해 어떻게 "tail -f"할 수 있습니까?

해당 파일을 무기한으로 활용하는 스크립트를 실행하는 동안 해당 파일에 대해 어떻게 "tail -f"할 수 있습니까?

거의 거의 다 얻었지만, 이것을 보는 데 너무 오랜 시간을 소비하여 원하는 것을 달성하는 방법을 잃어버릴까 봐 걱정됩니다.

내가 하려는 일:

내 서버에서 액세스 로그를 가져오고 출력을 구문 분석하여 피드에 제공합니다.matomo 로그 수입업체, 따라서 "라이브" 로그를 가져오는 중입니다. 본질적으로,web server -> log -> parse -> matomo log importer

내가 뭘 한거지:

tail을 사용하여 access.log의 출력을 구문 분석할 수 있습니다.이와 같이:

tail -f /var/log/access.log | jq --compact-output '{ip: (.request.remote_addr | .[:-6]), host: .request.host, path: .request.uri, status: "\(.status)", referrer: "", user_agent: .request.headers."User-Agent"[], length: .size, generation_time_milli: .duration, date: (.ts | strftime("%Y-%m-%dT%H:%M:%S%z"))}'

이것은 나에게 JSONmatomo 로그 임포터의 형식을 제공합니다분명한. 그런 다음 로그를 읽고 가져와야 하는 스크립트가 있습니다.

#!/bin/sh

echo "${@}" | python3 ./import_logs3.py \
 --url=https://location --token-auth={TOKEN} \
 --enable-http-errors --enable-http-redirects --enable-static --enable-bots \
 --idsite=1 --recorders=4 --log-format-name=nginx_json {FILE}

스크립트가 파일을 처리하고 구문 분석 후 완료해야 하기 때문에 여기서 막히게 됩니다. 로그를 "라이브"로 가져올 수 있도록 스크립트를 무기한 실행하고 싶습니다. 이 예제에서는 다음과 같은 것을 사용합니다.시스템 로그이 스크립트는 로그 파일이 업데이트될 때마다 실행됩니다.

비슷한 일을 하려면 어떻게 해야 할까요? 사용 tee? tee파일에 액세스하는 경우 파일이 업데이트될 때마다 해당 파일을 가리키는 스크립트를 어떻게 실행합니까?

도와주셔서 감사합니다!

관련 정보