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
(默认)、false
或 prompt
.通过设置为 false
,它不会覆盖任何已经存在的文件。但是,它也不会覆盖源中较新的任何文件——不确定这是否会破坏您的交易。
我们刚刚在版本 10.3 中添加了对容器的支持
我的命令是.\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
(默认)、false
或 prompt
.通过设置为 false
,它不会覆盖任何已经存在的文件。但是,它也不会覆盖源中较新的任何文件——不确定这是否会破坏您的交易。
我们刚刚在版本 10.3 中添加了对容器的支持