我想知道是否可以在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
您可以做您想做的事情,但前提是您需要做一些工作。