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

mc cp

描述

这个 mc cp 命令将数据从一个或多个源复制到目标 S3 兼容服务。

例子

将对象复制到 S3

mc cp 将对象复制到 S3 兼容主机:

mc cp SOURCE ALIAS/PATH
  • 替代 SOURCE 与文件系统路径 目的。

  • 替代 ALIASalias 配置的 S3 兼容主机。

  • 替代 PATH 与对象的路径 兼容 S3 的主机。 您可以指定不同的对象名称 在复制时 “rename” 对象。

mc cp SRCALIAS/SRCPATH TGTALIAS/TGTPATH
  • 替代 SRCALIASalias 源 S3 兼容主机。

  • 替代 SRCPATH 随着通往 S3 兼容主机上的对象。

  • 替代 TGTALIASalias 目标 S3 兼容主机。

  • 替代 TGTPATH 随着通往 目标 S3 兼容主机上的对象。 省略要使用的对象名称 SRCPATH 对象名称。

递归复制对象到 S3

mc cp --recursive 递归地将对象复制到 S3兼容主机:

mc cp --recursive SOURCE ALIAS/PATH
  • 替代 SOURCE 与文件系统路径 包含文件的目录。

  • 替代 ALIASalias 配置的 S3 兼容主机。

  • 替代 PATH 与对象的路径 S3兼容主机. mc cp 使用``SOURCE`` 文件名 在目标主机上创建对象时。

mc cp --recursive SRCALIAS/SRCPATH TGTALIAS/TGTPATH
  • 替代 SRCALIASalias 源 S3 兼容主机。

  • 替代 SRCPATH 随着通往 源 S3 兼容主机上的存储桶或存储桶前缀。

  • 替代 TGTALIASalias 目标 S3 兼容主机。

  • 替代 TGTPATH 随着通往 目标 S3 兼容主机上的对象. mc cp 使用 在目标上创建对象时的 “SRCPATH” 对象名称主机。

复制对象的时间点版本

mc cp --rewind 复制一个对象,因为它存在于 具体时间点。 此命令仅适用于 S3 到 S3 的复制。

mc cp --rewind DURATION SRCALIAS/SRCPATH TGTALIAS/TGTPATH
  • 替代 DURATION 与时间点 命令复制对象的过去。 例如,指定 30d 在 30 天之前复制对象的版本 当前的日期。

  • 替代 SRCALIASalias 源 S3 兼容主机。

  • 替代 SRCPATH 随着通往 源 S3 兼容主机上的对象。

  • 替代 TGTALIASalias 目标 S3 兼容主机。

  • 替代 TGTPATH 随着通往 目标 S3 兼容主机上的对象。 省略要使用的对象名称 SRCPATH 对象名称。

Requires Versioning

mc cp 需要 bucket versioning 到 使用此功能。 用 mc version 在存储上启用版本控制。

复制对象的特定版本

mc cp --version-id 复制对象的特定版本。 这个 命令仅适用于 S3 到 S3 的复制。

mc cp --version-id VERSION SRCALIAS/SRCPATH TGTALIAS/TGTPATH
  • 替代 VERSION 与对象的版本复制。

  • 替代 SRCALIASalias 源 S3 兼容主机。

  • 替代 SRCPATH 随着通往 源 S3 兼容主机上的对象。

  • 替代 TGTALIASalias 目标 S3 兼容主机。

  • 替代 TGTPATH 随着通往 目标 S3 兼容主机上的对象。 省略要使用的对象名称 SRCPATH 对象名称。

Requires Versioning

mc cp 需要 bucket versioning 到 使用此功能。 用 mc version 在存储上启用版本控制。

语法

mc cp 具有以下语法:

mc cp [FLAGS] SOURCE [SOURCE...] TARGET

cp 支持以下论点:

SOURCE

REQUIRED

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

例如:

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

如果您指定目录或存储桶 SOURCE, 你必须 还指定 --recursive 递归复制 该目录或存储桶的内容。 如果省略 --recursive 争论, cp 只复制指定顶层的对象 目录或存储桶。

TARGET

REQUIRED

要复制指定的存储桶的完整路径 SOURCE 到。 指定 alias 配置的 S3 服务作为前缀 TARGET 路径。

例如:

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

递归复制每个bucket或目录的内容 SOURCE to the TARGET 桶.

--rewind

指导 mc cp 仅对存在于的对象版本进行操作 指定的时间点。

  • 要倒回过去的特定日期,请将日期指定为 ISO8601 格式的时间戳。 例如: --rewind "2020.03.24T10:00".

  • 要倒回持续时间,请将持续时间指定为字符串 #d#hh#mm#ss 格式。 例如: --rewind "1d2hh3mm4ss".

--rewind 要求指定的 --SOURCE 成为 S3 兼容的服务 支持 Bucket Versioning. 对于 MinIO 部署,请使用 mc version 启用或禁用存储版本控制。

--version-id, --vid

指导 mc cp 仅对指定的对象版本进行操作。

--version-id 要求指定的 --SOURCE 成为 S3 兼容的服务 支持 Bucket Versioning. 对于 MinIO 部署,请使用 mc version 启用或禁用存储版本控制。

--older-than

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

默认为“0”(所有对象)。

--newer-than

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

默认为“0”(所有对象)。

--storage-class, --sc

为新对象设置存储类 TARGET.

参考 AmazonS3/latest/dev/storage-class-intro.html 有关 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”

用于检索加密键值对列表的环境变量 作为在命令行上指定它们的替代方法。

特性

mc cp 使用 MD5SUM 验证对对象存储的所有复制操作校验。

中断或失败的复制操作可以从故障点恢复 通过发出 mc cp 再次操作 --continue 论据。

例子

将文本文件复制到对象存储

下面的例子假设 play 别名存在于 mc configuration file. 你可以 将 “play” 替换为您首选的 S3 兼容部署的别名。

See mc alias 有关别名的更多信息。

mc cp myobject.txt play/mybucket

将文本文件复制到具有指定元数据的对象存储

下面的例子假设 play 别名存在于 mc configuration file. 你可以 将 “play” 替换为您首选的 S3 兼容部署的别名。

See mc alias 有关别名的更多信息。

mc cp --attr key1=value1;key2=value2 myobject.txt play/mybucket

将文件夹从 MinIO 云存储递归复制到具有指定元数据的 Amazon S3 云存储

下面的例子假设 play 别名存在于 mc configuration file. 你可以 将 “play” 替换为您首选的 S3 兼容部署的别名。

See mc alias 有关别名的更多信息。

 mc cp --attr Cache-Control=max-age=90000,min-fresh=9000\;key1=value1\;key2=value2 \
   --recursive play/mybucket/bucketname/ s3/mybucket/

将文本文件复制到对象存储并将“存储类”REDUCED_REDUNDANCY 分配给上传的对象

下面的例子假设 play 别名存在于 mc configuration file. 你可以 将 “play” 替换为您首选的 S3 兼容部署的别名。

See mc alias 有关别名的更多信息。

mc cp --storage-class REDUCED_REDUNDANCY myobject.txt play/mybucket

将服务器端加密文件复制到对象存储

下面的例子假设 s3myminio 别名 存在于 mc configuration file. 参考 mc alias 有关别名的更多信息。

mc cp --recursive \
  --encrypt-key "s3/documents/=32byteslongsecretkeymustbegiven1 , myminio/documents/=32byteslongsecretkeymustbegiven2" \
  s3/documents/myobject.txt myminio/documents/

在服务器端加密对象上执行密钥轮换

mc cp 密钥轮换需要创建一个额外的别名 端点作为目标 S3 服务别名。 mc cp 有效地解密 使用旧密钥的对象,使用新密钥加密对象 密钥,并用新加密的对象替换旧对象。

下面的例子假设 myminio1myminio2 别名 存在于 mc configuration file. 参考 mc alias 有关别名的更多信息。

mc cp --encrypt-key 'myminio1/mybucket=32byteslongsecretkeymustgenerate , myminio2/mybucket/=32byteslongsecretkeymustgenerat1' \
  myminio1/mybucket/encryptedobject myminio2/mybucket/encryptedobject

将 javascript 文件复制到对象存储并将 “Cache-Control” 标头分配给上传的对象

下面的例子假设 play 别名存在于 mc configuration file. 你可以 将 “play” 替换为您首选的 S3 兼容部署的别名。

See mc alias 有关别名的更多信息。

mc cp --attr Cache-Control=no-cache myscript.js play/mybucket

将文本文件复制到对象存储并保留文件系统属性

下面的例子假设 play 别名存在于 mc configuration file. 你可以 将 “play” 替换为您首选的 S3 兼容部署的别名。

See mc alias 有关别名的更多信息。

mc cp -a myobject.txt play/mybucket