私はRed Hat Linux 7.5環境を使用しています。特定のファイル拡張子で終わるフォルダからファイルを抽出/受信するカールスクリプトを作成しようとしています。
以前は、カールとftpsを使用してプッシュ/転送するスクリプトを作成しました(SFTPではない)オプション、ログインとパスワード、完全な追跡ログ、および2>&1その他のエラー。ファイル名がローカルであり、いくつかのスクリプトロジックを使用してファイル名をgrep編集できるため、スクリプトを作成できます。
基本的に私が送りたいカールのドアはこれです(いいえ、これは文字列の実際の参照ではなく、プライバシーのために値を変更しました。):
curl --ftp-ssl -k --trace /bedrock/fred/logs/sendpdf.log -T /bedrock/fred/brontosaurussteak.pdf -u fflintstn:H4s$anC#0P ftp://bedrockpoobalodge.com:27Memebers/fredflintstone/pdffiles/ >> /bedrock/fred/logs/transfer.log
上記のすべての参照はスクリプトにあり、パスやその他の項目への参照は1時間あたり数百のファイルを処理するループ内の変数に格納されます。ジョブスクリプトでは次のようになります。
curl $curlFTPC $curlTRCMD\_$trFlCntr\_$cntnt.txt $curlSF/$file $curlAHaD &>> $prcssLgFl
インポートまたは受信したいファイル名がわからない場合は、まったく異なる話です。
私は次のような "curl eval"ループに基づいた多くの例を見ました。
for i in $(curl https://someserver.com/alpha/beta/gamma/ | grep pdf | awk -F "=" '{print $2}' | jq '.[].full_path' | awk -F '"' '{printf("https://someserver.com/alpha/beta/gamma/%s\n",$2)}')
しかし、同じプロトコルと認証でこのようなものを削除/受信することはできないようです。私は明らかなものを見逃していると確信しています。
bashでスクリプトが可能で、Expectを使用しない限り、ソリューションまたは代替案で開かれています。SFTPが利用可能stdin、stdout、stderrの完全なトレースとロギングがあります。
私は「期待」を使用することを気にします。
答え1
wget
構造のため。wget
ファイル転送とロギング用に設計されています。