FTP経由で特定の日付範囲内のファイルを転送できますか?

FTP経由で特定の日付範囲内のファイルを転送できますか?

FTPサーバーから新しいサーバーに大量のファイルを転送する必要があります。何千ものファイルがありますが、最近3ヶ月以内にアップロードされたファイルのみに制限したいのですが、可能ですか?できればどうでしょうか?

また、実際のダウンロードを開始する前にダウンロードサイズを知ることができますか?

ありがとう

答え1

あなたはそれを使用することができますlftpこれを行うには、適切なmirrorコマンドを使用します。マンページの一部は次のとおりです。

  mirror [OPTS] [source [target]]

   Mirror specified source directory to local target directory. If target
   directory  ends  with  a  slash,  the source base name is appended to 
   target directory name. Source and/or target can be URLs pointing to 
   directories.


[cut...]
        -N, --newer-than=SPEC    download only files newer than specified time
            --on-change=CMD      execute the command if anything has been changed
            --older-than=SPEC    download only files older than specified time
[...]

実際には多くの便利なオプションがあるので、マニュアルを見てくださいmirror。 Lftpは他のアクセスプロトコルと一緒に使用することもできます。--allow-chown--allow-suid--parallel[=N]sftpfishhttp(s)

答え2

次のコマンドを使用してファイルシステムにマウントできます。curlftpfs
次にコピーを使用してくださいfind
たとえば、

mkdir /tmp/mountpoint
curlftpfs ftp://example.com/ /tmp/mountpoint/
cd /tmp/mountpoint
find -mtime +90 -exec cp {} /dest/path/ \;

より良い解決策があると思います。

関連情報