azcopy sync [flags]
相关概念性文章
AzCopy 入门
使用 AzCopy 和 Blob 存储传输数据
使用 AzCopy 和文件存储传输数据
同步单个文件:
azcopy sync "/path/to/file.txt" "https://[account].blob.core.windows.net/[container]/[path/to/blob]"
与前面的示例相同,但还会计算文件内容的 MD5 哈希,然后将该 MD5 哈希另存为 Blob 的 Content-MD5 属性。
azcopy sync "/path/to/file.txt" "https://[account].blob.core.windows.net/[container]/[path/to/blob]" --put-md5
同步整个目录,包括其子目录(请注意,默认已启用递归):
azcopy sync "/path/to/dir" "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]"
或 azcopy sync "/path/to/dir" "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]" --put-md5
仅同步目录内的文件,但不同步子目录或子目录中的文件:
azcopy sync "/path/to/dir" "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]" --recursive=false
同步目录中的一部分文件(例如:仅同步 jpg 和 pdf 文件,或者同步文件名为“exactName”的文件):
azcopy sync "/path/to/dir" "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]" --include-pattern="*.jpg;*.pdf;exactName"
同步整个目录,但从同步范围中排除某些文件(例如:以 foo 开头或以 bar 结尾的每个文件):
azcopy sync "/path/to/dir" "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]" --exclude-pattern="foo*;*bar"
同步单个 Blob:
azcopy sync "https://[account].blob.core.windows.net/[container]/[path/to/blob]?[SAS]" "https://[account].blob.core.windows.net/[container]/[path/to/blob]"
同步虚拟目录:
azcopy sync "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]?[SAS]" "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]" --recursive=true
同步与 Blob 同名的虚拟目录(在路径中添加尾随斜杠以消除歧义):
azcopy sync "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]/?[SAS]" "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]/" --recursive=true
同步 Azure 文件目录(语法与 Blob 相同):
azcopy sync "https://[account].file.core.windows.net/[share]/[path/to/dir]?[SAS]" "https://[account].file.core.windows.net/[share]/[path/to/dir]" --recursive=true
注意:如果同时使用 include 和 exclude 标志,则只使用与 include 模式匹配的文件,而忽略与 exclude 模式匹配的文件。
--block-size-mb
(浮点数)- 在上传到 Azure 存储或从 Azure 存储下载时使用此块大小(以 MiB 为单位)。 默认值根据文件大小自动计算。 允许使用小数(例如:0.25)。 在上传或下载时,允许的最大块大小为 0.75 * AZCOPY_BUFFER_GB。 有关详细信息,请参阅优化内存使用。
--check-md5
(字符串)- 指定下载时验证 MD5 哈希的严格程度。 此选项仅在下载时可用。 可用的值包括:NoCheck、LogOnly、FailIfDifferent、FailIfDifferentOrMissing。 (默认值为“FailIfDifferent”)。 (默认值为“FailIfDifferent”)
--compare-hash
(字符串)通知同步以依赖哈希作为上次修改时间(LMT)的替代方法。 远程源处缺少哈希将引发错误。 (无,MD5)默认值:无(默认值“None”)
--cpk-by-name
(字符串)- 客户端按名称提供的密钥使客户端可以向 Azure Blob 存储发出请求,以便按每个请求提供加密密钥。 提供的密钥名称将从 Azure 密钥保管库提取,并用于对数据进行加密
--cpk-by-value
- 客户端按名称提供的密钥使客户端可以向 Azure Blob 存储发出请求,以便按每个请求提供加密密钥。 提供的密钥及其哈希将从环境变量中提取
--delete-destination
(字符串)- 定义是否从目标中删除不在源中的多余文件。 可设置为 true、false 或 prompt。 如果设置为 prompt,则在计划要删除的文件和 Blob 之前,系统会向用户提问。 (默认值为“false”)。 (默认值为“false”)
--dry-run
- 输出 sync 命令复制或删除的文件的路径。 此标志不会复制或删除实际文件。
--exclude-attributes
(字符串)(仅限 Windows)- 排除其特性与特性列表相匹配的文件。 例如:A;S;R
--exclude-path
(字符串)- 将源与目标进行比较时,排除这些路径。 此选项不支持通配符 (*)。 检查相对路径前缀(例如:myFolder;myFolder/subDirName/file.pdf)。
--exclude-pattern
(字符串)- 排除名称与模式列表相匹配的文件。 例如: .jpg; .pdf;exactName
--exclude-regex
(字符串)- 排除与正则表达式匹配的文件的相对路径。 使用“;”分隔正则表达式。
--force-if-read-only
在 Windows 或 Azure 文件存储上覆盖现有文件时,即使现有文件已设置只读属性,也会强制执行覆盖操作。
--from-to
(字符串)-(可选)指定源-目标组合。 例如 LocalBlob、BlobLocal、LocalFile、FileLocal、BlobFile、FileBlob 等。
-h
、--help
- 关于同步的帮助
--include-attributes
(字符串)-(仅限 Windows)仅包括其属性与属性列表相匹配的文件。 例如:A;S;R
--include-pattern
(字符串)- 仅包括名称与模式列表相匹配的文件。 例如: .jpg; .pdf;exactName
--include-regex
(字符串)- 包括与正则表达式匹配的文件的相对路径。 使用“;”分隔正则表达式。
--hash-meta-dir
使用 --local-hash-storage-mode=HiddenFiles
时,可以指定备用目录来存储哈希元数据文件(而不是源中相关文件旁)。
--local-hash-storage-mode
指定缓存文件哈希的替代方法。 有效选项包括: HiddenFiles (OS Agnostic)
( XAttr (Linux/MacOS only
需要 user_xattr
遍历源的所有文件系统), AlternateDataStreams
(Windows 仅要求目标卷上的命名流)。
--mirror-mode
- 如果此标志设置为 true,则禁用上次修改时间比较,并覆盖目标上的冲突文件和 blob。 默认值为 false
--put-blob-size-mb
将此大小(以 MiB 指定)用作阈值,以确定在上传到 Azure 存储时是否将 blob 作为单个 PUT 请求上传。 默认值是根据文件大小自动计算的。 允许使用小数(例如:0.25)。
--preserve-permissions
- 默认值为 false。 保留感知资源(Windows 和 Azure 文件存储,或 ADLS Gen 2 和 ADLS Gen 2)之间的 ACL。 对于分层命名空间帐户,需要一个拥有“修改所有权”和“修改权限”权限的容器 SAS 或 OAuth 令牌。 对于下载操作,还需要使用 --backup
标志来恢复权限,其中新所有者将不是运行 AzCopy 的用户。 此标志同时适用于文件和文件夹,除非指定了“仅文件”筛选器(例如包含模式)。
--preserve-posix-properties-
- 默认值为 false。 Preserves
从统计信息或统计信息收集到对象元数据中的属性信息。
--preserve-smb-info
- 对于 SMB 感知位置,默认情况下,标志将设置为 true。 保留 SMB 感知资源(Azure 文件存储)之间的 SMB 属性信息(上次写入时间、创建时间、属性位)。 此标志同时适用于文件和文件夹,除非指定了“仅文件”筛选器(例如包含模式)。 为文件夹传输的信息与为文件传输的信息几乎相同,只是“上次写入时间”除外,不会为文件夹保留该信息。 (默认值为 true)
--put-md5
- 创建每个文件的 MD5 哈希,并将该哈希另存为目标 Blob 或文件的 Content-MD5 属性。 (默认不会创建哈希。)仅在上传时可用。
--recursive
- 默认值为 true,即,在目录之间同步时,将以递归方式查看子目录。 (默认值为 true)。 (默认值为 true)
--s2s-preserve-access-tier
- 在服务间复制过程中保留访问层。 请参阅 Azure Blob 存储:热、冷和存档访问层,确保目标存储帐户支持设置访问层。 如果不支持设置访问层,请使用 s2sPreserveAccessTier=false
来绕过访问层的复制。 (默认值为 true)。 (默认值为 true)
--s2s-preserve-blob-tags
- 在 blob 存储之间进行服务到服务同步过程中保留索引标记
--trailing-dot
默认情况下启用以安全方式处理文件共享相关操作。 可用选项: Enable
, Disable
。 选择 Disable
返回到对尾随点文件的旧处理(可能不安全),文件服务将剪裁路径中的任何尾随点。 如果传输仅包含一个尾随点(例如 mypath
和 mypath.
)不同的两个路径,这可能会导致潜在的数据损坏。 如果此标志设置为 Disable
AzCopy 并且遇到尾随点文件,它将警告扫描日志中的客户,但不会尝试中止操作。 如果目标不支持尾随点文件(Windows 或 Blob 存储),则如果尾随点文件是传输的根,并且跳过枚举期间遇到的任何尾随点路径,AzCopy 将失败。
从父命令继承的选项
--log-level
(字符串)- 定义日志文件的日志详细程度,可用级别:INFO(所有请求和响应)、WARNING(响应缓慢)、ERROR(仅限失败的请求)和 NONE(无输出日志)。 (默认值为 INFO)。 (默认值为“INFO”)
--cap-mbps
(浮动)以兆位/秒为单位限制传输速率。 瞬间吞吐量可能与上限略有不同。 如果此选项设置为零或被省略,则吞吐量不受限制。
--output-type
(字符串)命令输出的格式。 选项包括:text、json。 默认值为“text”。 (默认值为“text”)
--trusted-microsoft-suffixes
(字符串)指定可以在其中发送 Microsoft Entra 登录令牌的其他域后缀。 默认值为“.core.windows.net;.core.chinacloudapi.cn;.core.cloudapi.de;.core.usgovcloudapi.net;*.storage.azure.net”。 此处列出的任何内容都会添加到默认值。 为安全起见,应只在此处放置 Microsoft Azure 域。 用分号分隔多个条目。
azcopy