azcopy v10 - 仅当目标文件不存在时才复制到目标

azcopy v10 - copy to destination only if destination file does not exist

我的命令是.\azcopy cp "source" "dest" --recursive=true

其中source和dest都是存储容器。

当我 运行 cp 命令时,azcopy 似乎遍历每个文件并传输到目标。

如果文件不存在或目标位置不同,是否可以只复制文件?

azcopy sync 做类似的事情,但仅支持 local/container 的 dest/origin 而不是 container/container,这是我的理解。

你的理解是对的,目前azcopy sync只支持本地文件系统到blob存储容器之间,不支持container/container。由于同步是单向的。作为解决方法,您可以通过从指定的 blob 存储源同步到本地文件路径,然后将它们从本地文件路径同步到 Blob 存储目标,分两步执行同步过程。

另一种选择是使用 AzCopy v8.1/XO/XN 参数分别允许您排除复制较旧或较新的源资源。如果只想复制目标中不存在的源资源,可以在 AzCopy 命令中指定两个参数:

/Source:http://myaccount.blob.core.windows.net/mycontainer /Dest:http://myaccount.blob.core.windows.net/mycontainer1 /SourceKey:<sourcekey> /DestKey:<destkey> /S /XO /XN

如果您想坚持使用 AzCopy v10,似乎有一个 --overwrite 参数,您可以将其设置为 true(默认)、falseprompt.通过设置为 false,它不会覆盖任何已经存在的文件。但是,它也不会覆盖源中较新的任何文件——不确定这是否会破坏您的交易。

我们刚刚在版本 10.3 中添加了对容器的支持