如何在没有双向同步的情况下根据日期自动执行 FTP 下载?

如何在没有双向同步的情况下根据日期自动执行 FTP 下载?

我遇到了与 FTP 相关的特殊情况,但很难找到解决方案。

我需要一个可以在以下参数内运行的 FTP 下载/同步应用程序:

  • 它必须在 Windows 下运行(安装 Python 以便能够运行脚本或类似的东西是可接受的解决方案)。
  • 它必须能够忽略某个日期之前的文件(我想开始下载新文件,而不是全部这个非常大的 FTP 目录中存在的文件)。
  • 我不想进行双向同步(例如,我不希望对本地文件和目录结构所做的更改改变远程 FTP 服务器,FTP 服务器需要完全保持不变)。
  • 以某种方式实现自动化是理想的。

你们有什么建议?我想到的解决方案都在某种程度上偏离了目标(例如,它们具有双向同步,或者它们无法立即启动同步,而是尝试拉下整个目录)。

答案1

对于您来说这个答案可能来得太晚了,但我会为在搜索类似内容时偶然发现这个问题的任何人解答。

LFTP 的镜像功能包含 --newer-than= 功能。

对于上周更新的文件:

--newer-than=now-7days

对于指定日期之前的文件:

--newer-than=2015-02-03

以下是一个例子:

lftp -p <port> -u <login>,<password> sftp://<host>
set mirror:use-pget-n 5
mirror -L -c -P5 --newer-than=now-7days <remote_dir> <local_dir>

相关内容