我有一个大文件夹需要传输到远程站点。该文件夹目前总共 10GB,但包含许多小得多的文件。
我们不想每次都复制整个 10GB,而是希望大量减少数据传输大小,只传输新的或更改的文件。我们计划这样做:
SOURCE_DIR
是包含所有文件并且是最新的文件夹。
COMPARE_DIR
是远程端文件夹的目录“克隆”。基本上是上次传输文件之前的所有文件。
TRANSFER_DIR
是一个空文件夹(我们希望)ROBOCOPY 可以将新文件或更改的文件SOURCE_DIR
放入其中COMPARE_DIR
。
一个例子:
SOURCE_DIR
有 4 个文件:1.txt、2.txt、3.txt、4.txt
COMPARE_DIR
有 3 个文件:1.txt、2.txt、3.txt
ROBOCOPY 命令将比较SOURCE_DIR
并COMPARE_DIR
看到 4.txt 不在,COMPARE_DIR
因此将其复制到TRANSFER_DIR
TRANSFER_DIR
然后只有 4.txt 文件,我们可以将其复制到远程端并放置在文件夹中,使其与我们的SOURCE_DIR
这一端相同。
这可以通过使用 --compare-dest=DIR 参数的 rsync 来完成,但由于这是 Windows,除非需要,否则我宁愿不必安装 rsync。