Curlを使ったのは今回が初めてです。 SFTPサーバーは自動的に更新/新しい画像を確認し、見つかった画像をダウンロードするスクリプトを作成しています。
主なカールドアは次のとおりです。
curl -z 06-Nov-2018 -k -u $USER:$PASSW --remote-name-all sftp://$HOSTNAME/$PATH/image[1-9].jpg
私の問題は、-z / - time-condフラグがまったく何もしないことです。日付により何もダウンロードされませんが、すべてのファイルがダウンロードされます。私は1994年11月6日を含む何十もの日付を試しましたが、何の役にも立ちませんでした。カールがSFTPで-zオプションをサポートしていないのですか、それとも私が間違っているのでしょうか?
私の日付は見つかったマニュアルページに基づいています。ここ。カール7.12.2+で動作すると言われていますが、私は7.51.0を使用しているので問題になりません。
$ curl --version
curl 7.51.0 (x86_64-w64-mingw32) libcurl/7.51.0 OpenSSL/1.0.2j zlib/1.2.8
libssh2/1.8.0 nghttp2/1.16.1 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3
pop3s rtmp rtsp scp sftp smtp smtps telnet tftp
Features: IPv6 Largefile SSPI Kerberos SPNEGO NTLM SSL libz TLS-SRP HTTP2
Metalink
PS -kオプションは私のログイン情報をプレーンテキストで送信しますか?まだSFTPだからじゃないと思うけど全然分からない
答え1
だから私はカールのgithubページに問題を提出しましたが、結果は「SFTPを使用した時間条件付き転送はカールではサポートされていません」でした。 HTTP と FTP のみ。
https://github.com/curl/curl/issues/1560
ああ、まあ。自分で実装できるかどうか調べてみましょう。しかし、正直なところ、時間が迫って速い修正をするようになりそうです。