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]
sftp
fish
http(s)
答え2
次のコマンドを使用してファイルシステムにマウントできます。curlftpfs
。
次にコピーを使用してくださいfind
。
たとえば、
mkdir /tmp/mountpoint
curlftpfs ftp://example.com/ /tmp/mountpoint/
cd /tmp/mountpoint
find -mtime +90 -exec cp {} /dest/path/ \;
より良い解決策があると思います。