Webサービスは出力をテキストファイルに書き込みます。
次の方法でこのログを取得できます。
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
出力ファイルがない場合は、-f
416(誤った範囲)エラーのhtmlが追加されます。
答え2
curl -C -
ループ内でそれを使用して追加された項目のみをインポートし、ローカルtail -f
ファイル内の新しいデータを監視できます。リモートサーバーはこのアクセスを許可する必要があります。
それ以外の場合は、N=$(stat -c %s file)
ローカルファイルを使用してサイズを確認し、カールをパイプしてtail -c +N | tee -a file
新しいコンテンツをファイルとstdoutに送信します。