是否有任何 FTP 软件(我目前在 Windows 上使用 FileZilla)可以对所有上传的文件进行哈希处理...因此下次上传数百万个文件时...它会将文件与哈希值进行比较,然后仅上传更改/新的文件?
如果该软件支持命令行那就更好了,但目前还不是必须的。
答案1
最强大的可能是git ftp。它将使用 跟踪文件夹中文件的更改git
,并且仅复制自上次推送以来修改的文件。但是,如果您想双向镜像,运行起来可能会更复杂
如果您只使用日期而不是完整哈希,则可以使用更简单的方法,例如lftp
仅复制较新的文件并缓存文件列表。基于此处答案的示例:https://serverfault.com/a/24833/411612
lftp -c "open ftp://user:[email protected];
lcd ./web;
cd /web/public_html;
mirror --reverse --delete --use-cache --verbose --parallel=2"
答案2
FTP 协议不支持执行此操作所需的消息交换。它无法向客户端提供现有文件的哈希列表。
从理论上讲,客户端软件或服务器软件可以做到这一点,但对于客户端来说,它必须已经在本地拥有整套文件才能进行哈希值计算和比较,而对于服务器来说,必须先上传才能计算哈希值,因此,如果没有从服务器检索哈希值以方便客户端检查的方法,就无法实现这一点。
以下是可通过 FTP 协议执行的操作列表: https://en.wikipedia.org/wiki/List_of_FTP_commands