Bagaimana saya bisa menangkap output dari LFTP? (Output tidak ditulis ke STDOUT atau STDERR?)


9

Saya ingin mendapatkan akses ke informasi kemajuan dari lftp. Saat ini, saya menggunakan ikal seperti:

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

Ini menulis informasi perkembangan curl ke file download.log, yang dapat saya ikuti untuk mendapatkan kemajuan waktu nyata.

Tetapi pendekatan yang sama tidak bekerja dengan lftp, baik dengan stdout atau stderr. Saya berakhir dengan file download.log yang kosong, sampai transfer selesai.

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

Ketika saya tidak mengarahkan output, saya melihat kemajuan di layar. Ketika saya melakukan redirect output, saya berhenti melihat kemajuan di layar, tetapi tidak ada yang muncul di download.log. Setelah transfer file selesai, saya melihat hasil akhirnya, seperti ini - tetapi tidak ada yang sebelumnya:

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

Apakah lftp melakukan sesuatu yang tidak biasa dengan outputnya - mencetak ke layar tanpa mencetak ke stdout / stderr? Apakah ada cara lain untuk menangkap keluaran layar selain mengarahkan ulang stdout / stderr?

Jawaban:



3

Lihat pengaturan default "log: file / xfer" dengan memasukkan setperintah di lftp.

Output yang mungkin:

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

Anda dapat mengubahnya dengan cara yang berbeda tentunya.

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

2

Periksa variabel domain xfer :

set xfer: log 1

set xfer: eta-period 5 # setiap 5 detik

set xfer: rate-period 20 # rata-rata rate

akan memasukkan informasi transfer log ke ~ / .lftp / transfer_log

Namun, Anda tidak dapat mengubah tujuan file log


dari halaman manual: xfer: log-file (path to file) file ke log transfer ke. Standarnya adalah ~ / .local / share / lftp / transfer_log atau ~ / .lftp / transfer_log.
benba

Indead! Pengaturan baru ini xfer-log ditambahkan dalam versi 4.2.0 oleh Timur Sufiev (2011-03-03)
juj

-1

coba ini untuk menangkap info kemajuan: lftp sftp: // $ SFTPUSER: $ SFTPPASS @ $ SFTPHOST -e "cd $ DIRECTORY; mget $ SFTPFILE; bye"> $ SFTPLOG 2> & 1

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.