LFTPから出力をキャプチャするにはどうすればよいですか?(出力はSTDOUTまたはSTDERRに書き込まれませんか?)


9

lftpから進捗情報にアクセスしたいのですが。現在、私はそのようなカールを使用しています:

curl http://example.com/file -o file -L 2> download.log

これにより、curlの進行状況情報がdownload.logファイルに書き込まれます。これは、リアルタイムの進行状況を取得するために調整できます。

ただし、同じアプローチは、stdoutまたはstderrを使用するlftpでは機能しません。転送が完了するまで、download.logファイルが空になります。

lftp -e 'get http://example.com/file;quit' 2> download.log
lftp -e 'get http://example.com/file;quit' 1> download.log

出力をリダイレクトしない場合、画面に進行状況が表示されます。出力をリダイレクトすると、画面に進行状況が表示されなくなりますが、download.logには何も表示されません。ファイル転送が完了すると、次のような最終結果が表示されますが、以前は何も表示されていません。

97618627 bytes transferred in 104 seconds (913.1K/s)

lftpはその出力で異常なことをしていますか-stdout / stderrに出力せずに画面に出力していますか?stdout / stderrをリダイレクトする以外に、画面出力をキャプチャする他の方法はありますか?

回答:



3

setlftpでコマンドを入力して、「log:file / xfer」のデフォルト設定を確認してください。

可能な出力:

set log:file/xfer /home/USERNAME/.local/share/lftp/transfer_log

もちろん、これはさまざまな方法で変更できます。

lftp -c 'open -e "set log:file/xfer /home/USERNAME/myown.log; mget *.csv; bye" -u uname,psswd 172.16.100.101' >> $log

2

xferドメイン変数を確認します。

xfer:log 1を設定します。

xfer:eta-period 5#を5秒ごとに設定

set xfer:rate-period 20#平均レート

ログ転送情報を〜/ .lftp / transfer_logに書き込みます

それでもログファイルの宛先を変更できるかどうかわからない


マンページから:xfer:log-file(ファイルへのパス)ログ転送先のファイル。デフォルトは〜/ .local / share / lftp / transfer_logまたは〜/ .lftp / transfer_logです。
ベンバ2017

インデッド!この新しい設定xfer-logは、バージョン4.2.0でTimur Sufievによって追加されました(2011-03-03)
juj

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.