원격 txt 파일을 스트림으로 처리하는 방법은 무엇입니까?

원격 txt 파일을 스트림으로 처리하는 방법은 무엇입니까?

웹 서비스는 출력을 텍스트 파일에 기록합니다.

다음을 통해 이 로그를 얻을 수 있습니다.

curl -u user:password -k https://log.my-app.com/log.2016-04-04.txt

그러나 이는 아직 작성 중이더라도 항상 현재 "완전한" 파일만 가져옵니다.

원격 txt 파일을 마치 스트림인 것처럼 가져오고 1분 후에 계속 다시 가져오되 업데이트된 콘텐츠만 표시하고 싶습니다.

컬을 사용하여 유사한 기능을 얻을 수 있습니까?

답변1

-C --continue-at당신은 매개 변수를 찾고 있습니다 -f --fail.

curl -f -# -u user:password -k -C - -O https://log.my-app.com/log.2016-04-04.txt

출력 파일이 없으면 -f416(잘못된 범위) 오류의 html이 추가됩니다.

답변2

curl -C -루프에서 이를 사용하여 추가된 항목만 가져오고 로컬 tail -f파일에서 새 데이터를 모니터링할 수 있습니다. 원격 서버는 이 액세스를 허용해야 합니다.

그렇지 않은 경우 N=$(stat -c %s file)로컬 파일을 사용하여 크기를 확인한 다음 컬을 파이프하여 tail -c +N | tee -a file새 콘텐츠를 파일 및 stdout으로 보냅니다.

관련 정보