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

mc mirror

描述

mc mirror 命令将内容同步到兼容 S3 的主机,类似于 rsync 实用程序。 mc mirror 支持文件系统和 S3 兼容主机作为同步源。

MinIO Trims Empty Prefixes on Object Removal

mc mirror --watch 命令持续同步源目标和目标目标。 这包括自动删除目标上的对象(如果它们在源上被删除)。

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

例子

将本地目录镜像到 S3 兼容主机

使用 mc mirror 将文件从文件系统镜像到 S3 主机:

mc mirror FILEPATH ALIAS/PATH

将本地目录持续镜像到 S3 兼容主机

使用 mc watch--watch 连续将文件从文件系统镜像到 S3 兼容主机:

mc mirror FILEPATH ALIAS/PATH

将 S3 存储桶连续镜像到 S3 兼容主机

使用 mc mirror--watch 将一个 S3 兼容主机上的存储桶中的对象连续镜像到另一台 S3 兼容主机。

mc mirror --watch SRCALIAS/SRCPATH TGTALIAS/TGTPATH

语法

mirror 具有以下语法:

mc mirror [FLAGS] SOURCE TARGET

mirror 支持以下论点:

SOURCE

REQUIRED

要同步到 TARGET S3 主机的文件或对象。

对于 S3 兼容主机上的对象,将对象的路径指定为 ALIAS/PATH,其中:

  • ALIAS 是配置的 S3 兼容主机的 alias, and

  • PATH 是存储桶或对象的路径。 如果指定一个桶,

    mc mirror 同步存储桶中的所有对象。

mc mirror [FLAGS] play/mybucket/ TARGET

对于文件系统上的文件,指定文件或目录的完整文件系统路径 :

mc mirror [FLAGS] ~/data/ TARGET

如果指定目录,mc mirror 会同步目录中的所有文件。

TARGET

REQUIRED

mc mirror 在其中复制同步的 SOURCE 对象的存储桶的完整路径。 将 TARGET 指定为 ALIAS/PATH,其中:

  • ALIAS 是配置的 S3 兼容主机的 alias, and

  • PATH 是桶的路径。

mc mirror SOURCE play/mybucket

mc mirror 同步到 TARGET 存储桶时,使用 SOURCE 中的对象或文件名。

--overwrite

覆盖对象 TARGET.

--remove

移除目标上的无关对象。

--watch, --w

持续监控:mc-cmd:~mc mirror SOURCE 路径并同步更改。

--region

在目标上创建新存储桶时指定 string 区域。

默认为 "us-east-1".

--preserve, --a

保留文件系统属性和存储桶策略规则 SOURCETARGET.

--exclude

排除 SOURCE 路径中与指定对象名称模式匹配的对象。

--older-than

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

默认为 0 (all objects).

--newer-than

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

默认为 0 (all objects).

--fake

执行假镜像操作。 使用此操作执行验证 mc mirror 操作将仅镜像所需的对象或存储桶。

--storage-class, --sc

为新对象设置存储类 TARGET.

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

--encrypt-key

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

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

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

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

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

如果指定了正确的加密对象,则只能删除加密对象 --encrypt-key 密钥。