使用lftp获取最新文件

使用lftp获取最新文件

我想知道是否可以在lftp不下载旧文件的情况下下载 ftp 服务器上的所有最新文件。

例子;

在我的服务器上我有

/doc
/vps
/order/{id}
/order/{id}
/order/archives

在我的电脑上:

/order/1010
/order/3058

如果我删除/order/3058,脚本不得再次下载它。

我想在所有/order/{id}可用时下载它们。但是,这些每天都在变化,我不想order/{id}每次都下载,只想下载最新的。

特殊之处是我的服务器受 SSL 保护,我需要它来连接

set ftp:ssl-force true
set ftp:ssl-protect-data true
set ssl:verify-certificate false

答案1

不,lftp并没有完全按照你的要求去做。这将使得有必要lftp记住以前的更新。相反,它的mirror功能提供了这些仅依赖于比较的场景当前的目录内容:

  • 下载所有更新
  • 下载更新,同时删除远程服务器上不再存在的本地文件。

但是(如果你维护一个可以应用于脚本的本地删除列表),lftp有一个选项排除文件:

-X 全科医生, --exclude-glob= 全科医生
排除匹配的文件

包含和排除选项可以指定多次。这意味着如果文件或目录与包含匹配但与包含后的排除不匹配,或者不匹配任何内容且第一个检查为排除,则该文件或目录将被镜像。目录与附加的斜杠相匹配。

使用该-X选项,lftp您可以做您想做的事情,但前提是您需要做一些工作。

相关内容