欢迎来到即将发布的 MinIO 文档版本! 此页面上的内容正在积极开发中 可能随时更改。 如果找不到您要找的内容,请查看我们的 历史文档。 感谢您的耐心等待。 我们期待您贡献自己强大的力量,帮助更多的中国技术开发者![翻译]

mc mv

描述

mc mv 命令将数据从一个或多个源移动到目标 S3 兼容服务。

校验和验证

mc mv 使用 MD5SUM 校验和验证所有到对象存储的移动操作。

恢复移动操作

使用 mc mv --continue 从故障点恢复中断或失败的移动操作.

MinIO Trims Empty Prefixes on Object Removal

mc mv 依赖于 mc 用于删除对象的删除 API。 作为一部分 删除存储桶前缀中的最后一个对象, mc 也递归删除 前缀的每个空部分直到根源。 mc 只适用于 递归删除创建的前缀 implicitly 作为对象写入的一部分 操作 - 也就是说,前缀不是使用显式目录创建的 创建命令如 mc mb.

例如,考虑一个带有以下对象前缀的存储 “photos”:

  • photos/2021/january/myphoto.jpg

  • photos/2021/february/myotherphoto.jpg

  • photos/NYE21/NewYears.jpg

photos/NYE21 是个 only 使用显式创建的前缀 mc mb. 所有其他前缀都是 implicitly 作为编写对象的一部分创建位于该前缀。

如果 mc 命令删除 myphoto.jpg, 自动移除 API 修剪空的 /january 字首。 随后的一个 mc 命令删除 myotherphoto.jpg, 删除 API 会自动修剪 /february 字首 and 现在空的 /2021 字首。 如果 mc 命令删除 NewYears.jpg, the /NYE21 前缀仍然存在,因为它是 explicitly 创建。

如果使用 mc mv 用于文件系统上的操作, mc 同样适用 通过递归修剪空目录路径直到根目录的行为。 然而, 这 mc remove API 无法区分显式创建的 目录路径和隐式创建的路径。 如果 mc mv 删除最后一个 文件系统路径中的对象, mc 递归删除所有空目录 作为删除操作的一部分,在该路径中直到根。

例子

将文件从文件系统移动到 S3 兼容主机

mc mv [--recursive] FILEPATH ALIAS/PATH
  • FILEPATH 替换为要移动的文件的完整文件路径。

    如果指定目录的路径,请包括 --recursive 标志。

    mc mv removes 成功将源文件移动到目标文件后。

  • ALIAS 替换为已配置的 S3 兼容主机的 alias

  • PATH 替换为目标存储桶。

使用自定义元数据将文件从文件系统移动到与 S3 兼容的主机

使用 mc mv 使用 --attr 选项设置文件的自定义属性。

mc mv --attr "ATTRIBUTES" FILEPATH ALIAS/PATH
  • FILEPATH 替换为要移动的文件的完整文件路径。 mc mv removes 文件在成功将文件移动到目标后。

  • ALIAS 替换为已配置的 S3 兼容主机的 alias

  • PATH 替换为目标存储桶。

  • ATTRIBUTES 替换为一个或多个逗号分隔的键值对 KEY=VALUE。 每对代表一个属性键和值。

在 S3 兼容服务之间移动存储桶

 mc mv --recursive SRCALIAS/SRCPATH TGTALIAS/TGTPATH
  • SRCALIAS 替换为已配置的 S3 兼容主机的 alias

  • SRCPATH 替换为存储桶的路径。 mc mv 在成功将存储桶移动到目标后,从源中 removes 存储桶及其内容。

  • TGTALIAS 替换为已配置的 S3 兼容主机的 alias

  • TGTPATH 替换为存储桶的路径。

将文件移动到具有特定存储类的 S3 兼容主机

使用 mc mv--storage-class 选项以在目标 S3 兼容主机上设置存储类。

mc mv --storage-class CLASS FILEPATH ALIAS/PATH
  • :mc-command:`CLASS <mcmv storage-class>` 替换为要关联到文件的存储类。

  • FILEPATH 替换为要移动的文件的完整文件路径。 mc mv removes 在成功将文件移动到目标后。

  • ALIAS 替换为已配置的 S3 兼容主机的 alias

  • PATH 替换为目标存储桶。

  • ATTRIBUTES 替换为一个或多个逗号分隔的键值对 KEY=VALUE。 每对代表一个属性键和值。

    mc mv –storage-class REDUCED_REDUNDANCY myobject.txt play/mybucket

语法

mv 具有以下语法:

mc mv [FLAGS] SOURCE [SOURCE...] TARGET

mv 支持以下论点:

SOURCE

REQUIRED

要移动的对象。 您可以使用配置的 S3 服务指定本地路径和 S3 路径 alias.

例如:

mc mv play/mybucket/object.txt ~/localfiles/mybucket/object.txt TARGET

如果您指定一个目录或存储桶到 SOURCE, 您还必须指定 --recursive 以递归方式移动该目录的内容。 如果省略 --recursive 参数,则 mv 只会移动指定目录或存储桶顶层中的对象。

TARGET

REQUIRED

用于移动指定的存储桶的完整路径 SOURCE 到。 指定 alias 配置的 S3 服务作为 TARGET 路径的前缀。

例如:

mc mv ~/localfiles/object.txt play/mybucket/
--recursive, --r

递归移动每个桶或目录的内容 SOURCETARGET 存储桶。

--older-than

删除早于指定时间限制的对象。 指定字符串 以``#d#hh#mm#ss`` 格式。 例如: --older-than 1d2hh3mm4ss.

默认为 0 (all objects).

--newer-than

删除比指定天数新的对象。 指定一个 ##d#hh#mm#ss 格式的字符串。 例如: --newer-than 1d2hh3mm4ss.

Defaults to 0 (all objects).

--storage-class, --sc

为新对象设置存储类 TARGET.

请参阅亚马逊文档 Storage Classes 有关 S3 存储类的更多信息。

--preserve, --a

保留文件系统属性和存储桶策略规则 SOURCE 上的目录、存储桶和对象 TARGET 存储桶。

--attr

为对象添加自定义元数据。 将键值对指定为 KEY=VALUE\;。 例如, --attr key1=value1\;key2=value2\;key3=value3.

--continue, --c

创建或恢复移动会话。

--encrypt

使用服务器端加密和服务器管理的密钥来加密或解密对象。 将键值对指定为 KEY=VALUE.

  • 每个 “KEY” 代表一个桶或对象。

  • 每个 “VALUE” 代表用于加密对象的数据密钥。

包含传递给的整个键值对列表 --encrypt 双引号 ".

--encrypt 可以使用 “MC_ENCRYPT” 环境变量来检索加密键值对列表, 作为在命令行中指定它们的替代方法。

--encrypt-key

使用客户端指定的密钥使用服务器端加密来加密或解密对象。 将键值对指定为 KEY=VALUE.

  • 每个 “KEY” 代表一个桶或对象。

  • 每个 “VALUE” 代表用于加密对象的数据密钥。

包含传递给的整个键值对列表 --encrypt-key 双引号 ".

--encrypt-key 可以使用“MC_ENCRYPT_KEY”环境变量来检索加密键值对列表, 作为在命令行上指定它们的替代方法。